Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SmartGwt RPC服务(没有可用于com.server.GreetingServiceImpl类型的源代码;是否忘记继承所需的模块?)_Java_Rpc_Smartgwt - Fatal编程技术网

Java SmartGwt RPC服务(没有可用于com.server.GreetingServiceImpl类型的源代码;是否忘记继承所需的模块?)

Java SmartGwt RPC服务(没有可用于com.server.GreetingServiceImpl类型的源代码;是否忘记继承所需的模块?),java,rpc,smartgwt,Java,Rpc,Smartgwt,当我试图访问服务器端的GreetingServiceImpl类并尝试在客户端使用它的函数时,我遇到了一个错误 错误:没有可用于com.demo1.server.GreetingServiceImpl类型的源代码;您是否忘记继承所需的模块 以下是问候服务impl: 公共类GreetingServiceImpl扩展了RemoteServiceServlet实现 迎宾服务{ public LinkedList<String> greetServer() throws IllegalArgu

当我试图访问服务器端的GreetingServiceImpl类并尝试在客户端使用它的函数时,我遇到了一个错误

错误:没有可用于com.demo1.server.GreetingServiceImpl类型的源代码;您是否忘记继承所需的模块

以下是问候服务impl:

公共类GreetingServiceImpl扩展了RemoteServiceServlet实现 迎宾服务{

public LinkedList<String> greetServer() throws IllegalArgumentException {
    // Verify that the input is valid.

    LinkedList<String> list = new LinkedList<String>();

    try {
        File file = getLog();
        Parse parse = new Parse(file);
        list = parse.callControlRequest();

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return list;
}

public File getLog() throws IOException {
   //doing something
}
public LinkedList greetServer()抛出IllegalArgumentException{
//验证输入是否有效。
LinkedList=新建LinkedList();
试一试{
File=getLog();
Parse Parse=新解析(文件);
list=parse.callControlRequest();
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
退货清单;
}
公共文件getLog()引发IOException{
//做某事
}
}

我尝试在客户端使用它,比如:

GreetingServiceImpl结果列表=新建GreetingServiceImpl()//这就是我出错的地方

greetingService.greetServer(新的AsyncCallback>(){

@覆盖
失败时的公共无效(可丢弃){
//TODO自动生成的方法存根
对话框
.setText(“远程过程调用-失败”);
dialogBox.center();
}
@凌驾
成功时公共无效(LinkedList结果){
result=resultList.greetServer();//这就是我试图获取其输出的地方
}
});;
}

您不能在客户端使用服务器端的类。要使用GreetingService,您应该实例化它的异步部分:

GreetingServiceAsync greetingService = GWT.create(GreetingService.class);
然后,您可以使用greetingService变量调用GreetingServiceImpl中的方法-您不能在客户端直接使用或引用GreetingServiceImpl,所以请使用第行

GreetingServiceImpl resultList = new GreetingServiceImpl(); 
是非法的-删除它


此外,您还可以生成默认的gwt应用程序,并查看它在那里是如何完成的,或者查看gwt库提供的动态表示例:gwt dir/samples/DynaTable。

谢谢您的回复!我有了这个主意,它现在起作用了。谢谢
GreetingServiceImpl resultList = new GreetingServiceImpl();