I am trying to intergrate errai RPC into our Seam/GWT application. I am following the RPCDemo that comes with the errai distribution and the Remote Procedure Calls section of the errai user guide. Unfortunately, I am getting a GWT copile error during my build:
[INFO] [gwt:compile {execution: default}]
[INFO] Compiling module com.foo.gwt.MenuConfig
[INFO] Validating newly compiled units
[INFO] [ERROR] Errors in 'file:/C:/dev/svn/trunk/project/src/main/java/com/foo/gwt/client/menu/MenuConfig.java'
[INFO] [ERROR] Line 127: No source code is available for type org.jboss.errai.bus.client.api.base.MessageBuilder; did you forget to inherit a required module?
[INFO] [ERROR] Line 127: No source code is available for type org.jboss.errai.bus.client.api.RemoteCallback<T>; did you forget to inherit a required module?
[INFO] Finding entry point classes
[INFO] [ERROR] Unable to find type 'com.foo.gwt.client.menu.MenuConfig'
[INFO] [ERROR] Hint: Previous compiler errors may have made this type unavailable
[INFO] [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly
I have the following related dependecies in my project:errai-cdi, errai-ios, errai-tools, errai-bus; all 1.2.1.Final, and gwt-servlet, gwt-user (provided); both 2.2.0.
And here is the portion of the client code it seems to be complaining about:
MessageBuilder.createCall(new RemoteCallback<String>() {
@Override
public void callback(String response) {
testLabel.setText("test: response: " + response);
}
}, MenuService.class).get();
Any ideas on what I am missing?
Looks like I forgot to inherit the proper Errai modules. I added the following to my GWT module file (<name>.gwt.xml) and overcame the above issue:
<inherits name="org.jboss.errai.bus.ErraiBus" />
<inherits name="org.jboss.errai.ioc.Container" />