Re: Reporting Java Client EC save exceptions
Re: Reporting Java Client EC save exceptions
- Subject: Re: Reporting Java Client EC save exceptions
- From: Florijan Stamenkovic <email@hidden>
- Date: Fri, 2 May 2008 10:24:44 -0400
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@hidden)
Help/Unsubscribe/Update your Subscription:
40mac.com
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