gwt RemoteService interface missing

Hello everyone,

at the moment I’m trying to implement a vaadin widget, based on a existing gwt widget. This widget does a lot of communication with the server using the GWT RPC Mechanism.

Now, when I try to integrate this as a vaadin widget I’m facing the problem that I get

java.lang.ClassNotFoundException: com.google.gwt.user.client.rpc.RemoteService

This interface only exists in vaadin-user, not vaadin-server. The original GWT Distribution contains this interface in the gwt-server library, too.

My question now is: Why is it not in vaadin-server? I don’t think that adding vaadin-user to my runtime classpath is really a good idea.

Is there another library that contains RemoteService?

Thanks for any help.

Francois

vaadin-server contains vaadin server-side classes. These can be used in Vaadin code. GWT classes are client-side classes which can only be used on the client side. If you want to integrate a gwt component you have to write a server-side component class and a client-side connector which integrates the gwt widget (as described
here
).
If this class is not a gwt widget component (like for example a label is) you have to find a way of accessing it by “making a bridge” to the client-side.

I’m not 100% sure what the best way would be but what came to my mind was A: to create a custom component with a client and server side. On the client side you could access the gwt class and on the server side you would have a normal vaadin component.
Or B: (the B here stands for probably Better solution :slight_smile: ) Create a
UI-
or
Component-Extension
. In it’s Connector you should be able to use gwt classes.

Not sure if i understood your question correctly. If you already have a custom component and just having problems trying to access the gwt class in the AbstractComponent class, gwt classes are only accessible in the widget and connector class (and maybe the clientrpc although i’m not sure). I have quite a similar question
here

thank you for your reply.

The thing that I’m concerned about (or the problem that I’m running into) is, that the RemoteService interface is missing. That means that, if I have a existing component that relies on the pure-GWT remote services, I can not use that component. My only option with vaadin is to rewrite the service to something that is vaadin compatible (which is definetly not what I want).
I’m asking myself why this interface is not part of the vaadin-server, because it is part of gwt-servlet. Is it really a good idea to force everyone to use the vaadin RPC (which is a nice concept, indeed)?

Adding vaadin-client to the runtime classpath manually (within the maven build process it is filtered out by, I guess, the vaadin-maven-plugin) solves my problem. But having vaadin-client within the WAR just feels extremely wrong.

Another question: would it hurt, if I’m using gwt-servlet as a dependency? Are there any known conflicts?