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;
    }


}

Reply via email to