作者:vincent | 来源:互联网 | 2023-02-03 12:53
1> Alexandru Ca..:
我设法找到了问题的根源.对于有此问题的其他人:
确保您的.proto文件对于客户端和服务器都是相同的,并且它具有相同的包.当客户端在远程服务器上调用方法时,它使用远程类的全名和包.
然而,这并不是该方法对客户端未实现的原因.就是这样:
super.login(request,responseStreamObserver);
调用super方法登录会将异步UNIMPLEMENTED错误代码发送回客户端.这是生成的类中的login()方法:
public void login(LoginUserDTO request,StreamObserver responseObserver) {
asyncUnimplementedUnaryCall(METHOD_LOGIN, responseObserver);
}
因此,请确保在执行您的服务方法时不要调用super方法,因为它将作为UNIMPLEMENTED显示给客户端.如果使用IntelliJ IDEA生成@Override方法,它将添加超级方法调用.一定要删除它.