0
votes

i created proto generated java files jar file using maven plugin "org.xolstice.maven.plugins". it contains all the java files required and imported into a project with maven dependency. no compilation issues. while execution am getting the UNIMPLEMENTED exception.

Caused by: io.grpc.StatusRuntimeException: UNIMPLEMENTED: Method not found!
    at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:240)
    at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:221)
    at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:140)

I tried by placing the protoc generated files it's working as expected. but i don't want this to be as java source inside project. because the generated sources has very huge java files for compilation it's taking long time every time i build, so i required it as a jar file.

1
If it compiles but then gets this error, that means that it is finding a different version of that class on the classpath. If your IDE has a dependency evaluation tool, that would help. Otherwise, you can find this in the debugger. I suggest you add a different call to the same class just before the call that is failing, trace into it, and then ask your IDE to jump to show the file you are inside in the Project or Files View. You'll probably jump to a spot you don't expect, and that will tell you how it is finding that version of the class. - Zag

1 Answers

0
votes

It looks like you built the Java client correctly. UNIMPLEMENTED means that method is not supported on the server. Double-check the method/service is registered on the server. Also double-check you are using the same .proto as the server, which means the proto package statement in the .proto should also match.

It appears Method not found! is unique to Python servers, so communication is occuring.