Hi Dominic,
I'm sorry I forgot two classes and a little change that you have also to do!
In your *.gwt.xml you need to add following:
<generate-with
class="com.aris.modeling.client.webapp.utils.rebind.rpc.GetRpcServiceGenerator">
<when-type-assignable class="com.google.gwt.user.client.rpc.RemoteService"/>
</generate-with>
Attached also the two missing files.
Of course you have to change maybe the package names for the
GetRpcServiceGenerator!
After this you can simply cast your RemoteService:
public static class Instance {
private static GWTDesignerRPCServiceAsync ourSyncInstance;
private static GWTDesignerRPCServiceAsync ourInstance;
static {
ourInstance = GWT.create(GWTDesignerRPCService.class);
ourSyncInstance = GWT.create(GWTDesignerRPCService.class);
((GetRemoteServiceProxy)ourSyncInstance).setSync(true);
}
public static synchronized GWTDesignerRPCServiceAsync get() {
return ourInstance;
}
public static synchronized GWTDesignerRPCServiceAsync getSync() {
return ourSyncInstance;
}
}
Am Mittwoch, 17. Februar 2016 14:48:50 UTC+1 schrieb Dominic Warzok:
>
> Hey, thanks for the hint with baconApi but it's the same that the most of
> our users use IE.
>
> @Rocco:
>
> Can you post a little example how you use the synchronous callback. We
> tried to use the provided example.
>
> We try to cast our ascync service to GetRemoteServiceProxy but an error
> occured.
>
> Error:
>
> SEVERE: Exception caught: com.SchumannGmbH.cam.web.client.CamService_Proxy
> cannot be cast to com.SchumannGmbH.cam.web.shared.rpc.
> GetRemoteServiceProxy
> com.google.gwt.event.shared.UmbrellaException: Exception caught: com.
> SchumannGmbH.cam.web.client.CamService_Proxy cannot be cast to com.
> SchumannGmbH.cam.web.shared.rpc.GetRemoteServiceProxy
> at com.google.gwt.event.shared.HandlerManager.fireEvent(HandlerManager.
> java:129)
> at com.google.gwt.event.logical.shared.CloseEvent.fire(CloseEvent.java:56
> )
> at com.google.gwt.event.logical.shared.CloseEvent.fire(CloseEvent.java:41
> )
> at com.google.gwt.user.client.Window.onClosed(Window.java:839)
> 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.
> reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:338)
> at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(
> BrowserChannelServer.java:219)
> 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.GeneratedMethodAccessor58.invoke(Unknown Source)
> 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
> ...
--
You received this message because you are subscribed to the Google Groups "GWT
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.
package com.aris.modeling.client.webapp.utils.rebind.rpc;
import com.google.gwt.core.ext.typeinfo.JClassType;
import com.google.gwt.user.rebind.rpc.ProxyCreator;
import com.google.gwt.user.rebind.rpc.ServiceInterfaceProxyGenerator;
/**
* User: roda
* Date: 22.11.11
* Time: 14:27
*/
public class GetRpcServiceGenerator extends ServiceInterfaceProxyGenerator {
@Override
protected ProxyCreator createProxyCreator(JClassType remoteService) {
return new GetRpcProxyCreator(remoteService);
}
}
package com.aris.modeling.client.webapp.utils.rebind.rpc;
import com.aris.modeling.gwt.shared.rpc.GetRemoteServiceProxy;
import com.google.gwt.core.ext.typeinfo.JClassType;
import com.google.gwt.user.client.rpc.impl.RemoteServiceProxy;
import com.google.gwt.user.rebind.rpc.ProxyCreator;
/**
* User: roda
* Date: 22.11.11
* Time: 14:30
*/
class GetRpcProxyCreator extends ProxyCreator {
public GetRpcProxyCreator(JClassType serviceIntf) {
super(serviceIntf);
}
@Override
protected Class<? extends RemoteServiceProxy> getProxySupertype() {
return GetRemoteServiceProxy.class;
}
}