Open DaveO-Home opened 1 day ago
"Is your Javascript client assuming dynamic resolution of the proto file?"
The client only posts the application data, it might be passing meta data under the covers.
I don't see that the poxy is an issue because the grpcurl
query works.
grpcurl -plaintext -d '{"cmd":3,"json":"{\"pin\":\"do1234\"}","message":"get golfer"}'
-vv -proto src/main/proto/handicap.proto localhost:8071 handicap.grpc.HandicapService/GetGolfer
port 8071 is the proxy. The query also works via port 8061 the helidon webserver port since grpcurl
works with http2. But again the proto file is required.
@DaveO-Home Could provide more info about the JS client part? The library and the JS client code that gets a null
response?
You can find the code at:
https://github.com/DaveO-Home/dodex-quarkus/tree/master/src/grpc/client
This is a Quarkus framework that has the same code. The only difference is that in the handiap.proto file the Service was changed for HandicapIndex
to HandicapService
.
Files of interest:
proto
bash script that generates the code in ./js/handicap
, the gRPC javascript client. The proto is in ./protos/handicap/
This same setup on Quarkus
works without the -proto
parameter.
Related to issue #9454
Thanks, - Question, why does the request work and the response fails. Doesn't the request require reflection?
The
Helidon gRPC
correctly accepts the Javascript gRPC request. However, there is no or just null response from the server.Environment Details
build.date 2023-08-03 16:19:35 UTC build.version 3.0.6 build.revision 0c0d6790 project.version 1.0.0 project.helidon.version 4.1.2 project.flavor MP latest.helidon.version 4.1.3 default.helidon.version 4.1.3 Java(TM) SE Runtime Environment Oracle GraalVM 21.0.2+13.1 (build 21.0.2+13-LTS-jvmci-23.1-b30) Java HotSpot(TM) 64-Bit Server VM Oracle GraalVM 21.0.2+13.1 (build 21.0.2+13-LTS-jvmci-23.1-b30, mixed mode, sharing)
Sample Code:
The proto:
The data the
Helidon
server accepts:Data the Server responses with:
Note: There is an
Envoy
proxy between the client/server. Does CORS and HTTP: 2