Friday, December 20, 2013

How to handle RPC StatusCodeException

We are having RPC StatusCodeExceptions in two cases.

1) When the user refreshes the page (from the browser), in the timeslot, where we have sent an RPC request to a server, we can catch the following stack trace from Developer mode:

ERROR: Uncaught exception escaped

com.google.gwt.core.client.JavaScriptException: (NS_ERROR_NOT_AVAILABLE) @com.google.gwt.core.client.impl.Impl::apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)([JavaScript object(569), JavaScript object(568), JavaScript object(616)]): prompt aborted by user

                at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249)

                at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)

                at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:571)

                at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:279)

                at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)

                at com.google.gwt.core.client.impl.Impl.apply(Impl.java)

                at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:242)

                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

                at java.lang.reflect.Method.invoke(Method.java:606)

                at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)

                at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)

                at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172)

                at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:293)

                at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:547)

                at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:364)

                at java.lang.Thread.run(Thread.java:744)


2) We see something similar, when running our Selenium test. If our startup page contains RPC calls, the second Selenium test fails with an Unhandled alert and an alert box, containing the following text (in our Selenium setup, we refresh the url between each test case):

Error:
com.google.gwt.user.client.rpc.StatusCodeException - 0
- [Unknown.jh(Unknown Source), 
Unknown._O(Unknown Source), 
Unknown.HQ(Unknown Source), 
Unknown.Yq(Unknown Source), 
Unknown.nr(Unknown Source), 
Unknown.SZ/c.onreadystatechange<(Unknown Source), 
Unknown.Fh(Unknown Source), 
Unknown.lh(Unknown Source), 
Unknown.Hh/<(Unknown Source), 
Unknown.anonymous(Unknown Source)]

In both cases, our theory is, that after having sent the RPC, the browser is refreshed - and when we get the answer from the RPC call, we are not expecting it, and we think, that this is what causes the error.

Have anyone else experienced something similar to this?
And - how did you solve it?

Any comments will be highly appreciated

Thanks
Steen L. Frederiksen

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at http://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment