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.doInvokeWithT arget(_EOServerInvocation.java:150) at com.webobjects.eodistribution.EODistributionContext._processClientRequ est(EODistributionContext.java:494) at com.webobjects.eodistribution.EODistributionContext.responseToClientMe ssage(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.valueInCompone nt(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._dispatchW ithPreparedPage(WOComponentRequestHandler.java:206) at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchW ithPreparedSession(WOComponentRequestHandler.java:298) at com.webobjects.appserver._private.WOComponentRequestHandler._dispatchW ithPreparedApplication(WOComponentRequestHandler.java:332) at com.webobjects.appserver._private.WOComponentRequestHandler._handleReq uest(WOComponentRequestHandler.java:369) at com.webobjects.appserver._private.WOComponentRequestHandler.handleRequ est(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 protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/flor385% 40mac.com

This email sent to [EMAIL PROTECTED]

_______________________________________________
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