That reminds me, I'm going to an opening weekend game on Saturday!

OK, that was mean.  :-D

On Mar 30, 2011, at 3:03 PM, Pascal Robert wrote:

> 
> Le 2011-03-30 à 14:56, Andrew Kinnie a écrit :
> 
>> Well I fully intend to found a religion in your name now.  (I already 
>> founded one for Mike)
> 
> Send back the Nationals so that we get our baseball team back at home and 
> everything will be fine :-P
> 
>> Andrew
>> 
>> On Mar 30, 2011, at 2:47 PM, Pascal Robert wrote:
>> 
>>> 
>>> Le 2011-03-30 à 14:36, Andrew Kinnie a écrit :
>>> 
>>>> That did it!
>>>> 
>>>> I was adding the default routes.  I commented the line out, and now it 
>>>> works like a charm.
>>>> 
>>>> So I should just manually add all the routes I need.  However, presumably 
>>>> someone would want to know what caused this.
>>> 
>>> I had this problem too, but my route like this:
>>> 
>>>    requestHandler.addRoute(new ERXRoute(User.ENTITY_NAME, "/users/login", 
>>> ERXRoute.Method.Get, UsersController.class, "login"));
>>> 
>>> worked, but I'm using query params for that one since I don't want a JSON 
>>> or XML response. I guess I would have the same problem as you did if I was 
>>> putting variables in the route (eg /login/username/password). I did have a 
>>> problem when I added support for the OPTIONS verb, I had to do my route 
>>> like this:
>>> 
>>>    requestHandler.addRoute(new 
>>> ERXRoute(User.ENTITY_NAME,"^/users/.*$",ERXRoute.Method.Options, 
>>> UsersController.class,"options"));
>>> 
>>> If I was using /users instead of ^/users/.*, I got an exception.
>>> 
>>>> Thanks!
>>>> 
>>>> Andrew
>>>> 
>>>> On Mar 30, 2011, at 2:28 PM, Pascal Robert wrote:
>>>> 
>>>>> 
>>>>> Le 2011-03-30 à 14:19, Andrew Kinnie a écrit :
>>>>> 
>>>>>> No such luck.  I get:
>>>>>> 
>>>>>> Mar 30 14:18:45 PoliticoAPNs[9001] ERROR 
>>>>>> er.rest.routes.ERXRouteController  - Request failed: 
>>>>>> /cgi-bin/WebObjects/PoliticoAPNs.woa/ra/NotificationType/fetchByName/alert
>>>>>> FileNotFoundException: There is no action named 'alertAction' on 
>>>>>> 'NotificationTypeController'.
>>>>>> at 
>>>>>> er.rest.routes.ERXRouteController.performUnknownAction(ERXRouteController.java:1229)
>>>>>> at 
>>>>>> er.rest.routes.ERXRouteController.performActionNamed(ERXRouteController.java:1356)
>>>>>> at 
>>>>>> er.rest.routes.ERXRouteController.performActionNamed(ERXRouteController.java:1234)
>>>>>> ... skipped 8 stack elements
>>>>> 
>>>>> I think the default routes are playing games. Are you calling 
>>>>> addDefaultRoutes for NotificationType in Application.java? If yes, 
>>>>> disable it for now and see if your fetchByName route works.
>>>>> 
>>>>>> On Mar 30, 2011, at 2:10 PM, Pascal Robert wrote:
>>>>>> 
>>>>>>> 
>>>>>>> Le 2011-03-30 à 14:02, Andrew Kinnie a écrit :
>>>>>>> 
>>>>>>>> Actually, that does exactly the same thing.
>>>>>>>> 
>>>>>>>> routeRequestHandler.addRoute(new 
>>>>>>>> ERXRoute(NotificationType.ENTITY_NAME, 
>>>>>>>> "/NotificationType/{name:String}/fetchByName", ERXRoute.Method.Get, 
>>>>>>>> NotificationTypeController.class, "fetchByName"));
>>>>>>> 
>>>>>>> Try that instead:
>>>>>>> 
>>>>>>> requestHandler.addRoute(new ERXRoute(NotificationType.ENTITY_NAME, 
>>>>>>> "/NotificationType/fetchByName/{name:String}", ERXRoute.Method.Get, 
>>>>>>> UsersController.class, "fetchByName"));
>>>>>>> 
>>>>>>> And reverse the last two parts of your GET request:
>>>>>>> 
>>>>>>> /cgi-bin/WebObjects/myApp.woa/ra/NotificationType/fetchByName/alert
>>>>>>> 
>>>>>>>> still results in:
>>>>>>>> 
>>>>>>>> Mar 30 13:55:12 myApp[9001] ERROR er.rest.routes.ERXRouteController  - 
>>>>>>>> Request failed: 
>>>>>>>> /cgi-bin/WebObjects/myApp.woa/ra/NotificationType/alert/fetchByName.json
>>>>>>>> ValidationException: Error encountered converting value of class 
>>>>>>>> java.lang.String to type specified in attribute 'notificationTypeId' 
>>>>>>>> of entity 'NotificationType'
>>>>>>>> at 
>>>>>>>> com.webobjects.eoaccess.EOAttribute.validateValue(EOAttribute.java:2572)
>>>>>>>> at 
>>>>>>>> er.rest.ERXEORestDelegate._fetchObjectOfEntityWithID(ERXEORestDelegate.java:89)
>>>>>>>> at 
>>>>>>>> er.rest.ERXAbstractRestDelegate.objectOfEntityWithID(ERXAbstractRestDelegate.java:96)
>>>>>>>> at er.rest.ERXRestUtils.coerceValueToTypeNamed(ERXRestUtils.java:258)
>>>>>>>> at er.rest.routes.ERXRoute.keysWithObjects(ERXRoute.java:370)
>>>>>>>> at 
>>>>>>>> er.rest.routes.ERXRouteController.routeObjects(ERXRouteController.java:348)
>>>>>>>> at 
>>>>>>>> er.rest.routes.ERXRouteController.routeObjectForKey(ERXRouteController.java:327)
>>>>>>>> at 
>>>>>>>> com.myApp.controllers.NotificationTypeController.fetchByNameAction(NotificationTypeController.java:114)
>>>>>>>> ... skipped 4 stack elements
>>>>>>>> at 
>>>>>>>> er.rest.routes.ERXRouteController.performActionNamed(ERXRouteController.java:1368)
>>>>>>>> at 
>>>>>>>> er.rest.routes.ERXRouteController.performActionNamed(ERXRouteController.java:1234)
>>>>>>>> ... skipped 8 stack elements
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Apparently there might be something wrong in my setup, but I am at a 
>>>>>>>> loss.
>>>>>>>> 
>>>>>>>> On Mar 30, 2011, at 1:50 PM, Pascal Robert wrote:
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Le 2011-03-30 à 13:33, Andrew Kinnie a écrit :
>>>>>>>>> 
>>>>>>>>>> Yes, I should have remembered that about query parameters I suppose. 
>>>>>>>>>>  Though it's been a while.
>>>>>>>>>> 
>>>>>>>>>> I would still prefer doing it via REST, because that is what they 
>>>>>>>>>> asked me to provide as an interface.  However, as I just found out 
>>>>>>>>>> no one here actually knows anything about REST my motivation is 
>>>>>>>>>> waning.
>>>>>>>>>> 
>>>>>>>>>> So, for those keeping score, I do now know how to pass in the string 
>>>>>>>>>> as a variable, but currently, with this action method:
>>>>>>>>>> 
>>>>>>>>>>      public WOActionResults fetchByNameAction() {
>>>>>>>>>>              String typeName = routeObjectForKey("name");
>>>>>>>>>>              NotificationType type = 
>>>>>>>>>> NotificationType.fetchNotificationType(editingContext(), 
>>>>>>>>>> NotificationType.TYPE_NAME.eq(typeName));
>>>>>>>>>>              return response(type, showFilter());
>>>>>>>>>>      }
>>>>>>>>>>      
>>>>>>>>>> Registered this way:
>>>>>>>>>> 
>>>>>>>>>>              routeRequestHandler.addRoute(new 
>>>>>>>>>> ERXRoute(NotificationType.ENTITY_NAME, 
>>>>>>>>>> "/NotificationType/{name:String}", ERXRoute.Method.Get, 
>>>>>>>>>> NotificationTypeController.class, "fetchByName"));
>>>>>>>>>> 
>>>>>>>>>> I get this exception:
>>>>>>>>>> 
>>>>>>>>>> Mar 30 13:21:33 MyApp[9001] ERROR er.rest.routes.ERXRouteController  
>>>>>>>>>> - Request failed: 
>>>>>>>>>> /cgi-bin/WebObjects/MyApp.woa/ra/NotificationType/alert/fetchByName.json
>>>>>>>>> 
>>>>>>>>> If you want to call your URL like this, you have to rework your route 
>>>>>>>>> to be like this:
>>>>>>>>> 
>>>>>>>>> new ERXRoute(NotificationType.ENTITY_NAME, 
>>>>>>>>> "/NotificationType/{name:String}/fetchByName"
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to