Ich habe andere Beiträge überprüft, in denen der Fehler in der Betreffzeile erwähnt wurde, aber keiner davon hat geholfen. Ich habe den Server in einem Projekt und den Client in einem anderen.
Dies ist meine Chat.proto-Datei für beide, sie sind identisch:
syntax = "proto3";
import "google/protobuf/timestamp.proto";
package chat.example;
message ChatMessage {
string from = 1;
string message = 2;
}
message ChatMessageFromServer {
google.protobuf.Timestamp timestamp = 1;
ChatMessage message = 2;
}
service ChatService {
rpc chat(stream ChatMessage) returns (stream ChatMessageFromServer);
}
Der Server wird auf http://localhost:50051 ausgeführt. Der Client scheint eine Verbindung zum Server herzustellen, aber dann erhalte ich die folgende Fehlermeldung:
io.grpc.StatusRuntimeException: UNIMPLEMENTED: Method not found: chat.example.ChatService/chat
Disconnected
at io.grpc.Status.asRuntimeException(Status.java:532)
at io.grpc.stub.ClientCalls$StreamObserverToCallListenerAdapter.onClose(ClientCalls.java:481)
at io.grpc.internal.DelayedClientCall$DelayedListener$3.run(DelayedClientCall.java:489)
at io.grpc.internal.DelayedClientCall$DelayedListener.delayOrExecute(DelayedClientCall.java:453)
at io.grpc.internal.DelayedClientCall$DelayedListener.onClose(DelayedClientCall.java:486)
at io.grpc.internal.ClientCallImpl.closeObserver(ClientCallImpl.java:564)
at io.grpc.internal.ClientCallImpl.access$100(ClientCallImpl.java:72)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInternal(ClientCallImpl.java:729)
at io.grpc.internal.ClientCallImpl$ClientStreamListenerImpl$1StreamClosed.runInContext(ClientCallImpl.java:710)
at io.grpc.internal.ContextRunnable.run(ContextRunnable.java:37)
at io.grpc.internal.SerializingExecutor.run(SerializingExecutor.java:133)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1575)
Aber die Methode ist in beiden Projekten mit demselben Paket in der generierten Klasse ChatServiceGrpc.java definiert:
public static final java.lang.String SERVICE_NAME = "chat.example.ChatService";
// Static method descriptors that strictly reflect the proto.
private static volatile io.grpc.MethodDescriptor getChatMethod;
@io.grpc.stub.annotations.RpcMethod(
fullMethodName = SERVICE_NAME + '/' + "chat",
Hat jemand eine Idee, wohin er mich führen soll?
Ursprünglich hatten die Chat.proto-Dateien unterschiedliche Namen, was auch zu unterschiedlichen Methodennamen führte . Außerdem hatte ich diese unter verschiedenen Paketen, aber jetzt habe ich sie gleich gemacht.
Wenn ich netstat -ano | ausführe findstr: 50051 , erhalte ich in der Eingabeaufforderung Folgendes:
TCP 0.0.0.0:50051 0.0.0.0:0 LISTENING 33960
TCP 127.0.0.1:50051 127.0.0.1:57252 ESTABLISHED 33960
TCP 127.0.0.1:57252 127.0.0.1:50051 ESTABLISHED 28372
TCP [::]:50051 [::]:0 LISTENING 33960
Dies scheint mir zu zeigen, dass eine Verbindung zwischen Client und Server hergestellt wird. Ich erhalte jedoch nicht das in der .proto-Datei definierte Dienstverhalten und der Fehler „Methode nicht gefunden“ tritt auf.
Io.grpc.StatusRuntimeException: NICHT IMPLEMENTIERT: Methode nicht gefunden: chat.example.ChatService/chat ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post
-
-
"MyCreatedWPSite.example.com kann diese Anfrage derzeit nicht bearbeiten. 500."
by Anonymous » » in Php - 0 Replies
- 3 Views
-
Last post by Anonymous
-