Re: Reporting Java Client EC save exceptions
Re: Reporting Java Client EC save exceptions
- Subject: Re: Reporting Java Client EC save exceptions
- From: John Pollard <email@hidden>
- Date: Fri, 2 May 2008 22:09:45 +0100
Hi Florijan,
I hope your hang-over has passed. Yes, I do a lot of passing back
client exceptions to the server and logging server exceptions on the
client etc. In this case the server exception being passed to the
client is null, so nothing to report from the client unfortunately.
John
On 2 May 2008, at 15:24, Florijan Stamenkovic wrote:
If my hung-over memory serves me right, you have access to the
original server-side exception on the client, it is encapsulated in
the exception you actually catch, no? If that is true, a quick-fix
would be to simply send that exception back to the server using RMI
and log it. Dirty, I know, but it should work...
I'll think about this some more when my head stops spinning, I've
never done what you describe, but it sounds like it might sound
useful...
Till then,
F
On May 02, 2008, at 06:05, John C Pollard wrote:
When a Java Client EC saveChanges() is invoked, it makes its way to
the server side EC saveChanges(), but I'm struggling to catch and
report exceptions. My client is told that a server side exception
occurred, but I want to know about it in the server log.
I have a server side EC delegate class which has a method:
editingContextShouldPresentException() which isn't being called
when my exception occurs.
Neither of: Application.handleException() or
Application.handleActionRequestError() are being called.
In my Application.dispatchRequest() I wrap super.dispatchRequest()
in a try..catch, but the exception is not getting back to that point.
Here is the stack trace between the dispatchRequest() and the
saveChanges() on my server process. Somewhere I need to get a
handle on the exception that is coming back through saveChanges()
as it doesn't get all the way back to dispatchRequest()
at
com
.webobjects
.eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3163)
at com.webobjects.eodistribution.EODistributionContext
$
_RemoteMethodReceiver
.clientSideRequestSave(EODistributionContext.java:1084)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.webobjects.foundation.NSSelector.invoke(NSSelector.java:358)
at
com
.webobjects
.foundation.NSSelector._safeInvokeSelector(NSSelector.java:110)
at
com
.webobjects
.eodistribution
.common
._EOServerInvocation.doInvokeWithTarget(_EOServerInvocation.java:150)
at
com
.webobjects
.eodistribution
.EODistributionContext
._processClientRequest(EODistributionContext.java:494)
at
com
.webobjects
.eodistribution
.EODistributionContext
.responseToClientMessage(EODistributionContext.java:582)
at
com
.webobjects
.eodistribution
.WOJavaClientApplet.handleClientRequest(WOJavaClientApplet.java:978)
at sun.reflect.GeneratedMethodAccessor31.invoke(Unknown Source)
at
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor
$1.methodValue(NSKeyValueCoding.java:636)
at com.webobjects.foundation.NSKeyValueCoding
$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134)
at com.webobjects.foundation.NSKeyValueCoding
$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1293)
at
com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:
1686)
at com.webobjects.foundation.NSKeyValueCoding
$Utility.valueForKey(NSKeyValueCoding.java:447)
at com.webobjects.foundation.NSKeyValueCodingAdditions
$
DefaultImplementation
.valueForKeyPath(NSKeyValueCodingAdditions.java:212)
at
com
.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:
1754)
at
com
.webobjects
.appserver
._private
.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:
50)
at
com
.webobjects
.appserver
._private.WOGenericElement.invokeAction(WOGenericElement.java:121)
at
com
.webobjects
.appserver
._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:
105)
at
com
.webobjects
.appserver
._private.WOGenericContainer.invokeAction(WOGenericContainer.java:29)
at
com
.webobjects
.appserver
._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:
105)
at
com
.webobjects
.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:
115)
at
com
.webobjects
.appserver._private.WOConditional.invokeAction(WOConditional.java:86)
at
com
.webobjects
.appserver
._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:
105)
at
com
.webobjects
.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:
115)
at
com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:
1078)
at
com
.webobjects
.appserver
._private
.WOComponentReference.invokeAction(WOComponentReference.java:127)
at
com
.webobjects
.appserver
._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:
105)
at
com
.webobjects
.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:
115)
at
com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:
1078)
at com.webobjects.appserver.WOSession.invokeAction(WOSession.java:
1357)
at
com
.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:
1736)
at
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._dispatchWithPreparedPage(WOComponentRequestHandler.java:206)
at
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._dispatchWithPreparedSession(WOComponentRequestHandler.java:298)
at
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
at
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
._handleRequest(WOComponentRequestHandler.java:369)
at
com
.webobjects
.appserver
._private
.WOComponentRequestHandler
.handleRequest(WOComponentRequestHandler.java:442)
at
com
.webobjects
.appserver.WOApplication.dispatchRequest(WOApplication.java:1678)
at mpServer.Application.dispatchRequest(Application.java:177)
at
com
.webobjects
.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
at
com
.webobjects
.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
at java.lang.Thread.run(Thread.java:613)
Many thanks,
John
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden