-
Notifications
You must be signed in to change notification settings - Fork 507
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Server reflection fails when using well-known types (Timestamp) #459
Comments
@ewrogers, I'm afraid that this is expected. It seems a little strange to me that registering your service wouldn't automatically register all of its dependencies. I'm not too familiar with grpc-js, but that is certainly how other runtimes work. The support for builtin versions when using proto source files is only provided to for consistency with |
Just ran into the same issue, again using
This is when loading the protoset output as described in https://github.com/fullstorydev/grpcurl?tab=readme-ov-file#protoset-files Interestingly though I am able to view all the service reflection information using Postman's GRPC Server Reflection feature with no issues, so I'm unclear as to why Postman is able to work with this but grpcurl is not. |
My guess would be that certain gRPC clients "auto-import" these into their reflection engine. |
Problem
Server reflection fails when using
google.protobuf.*
well-known types such asTimestamp
orDuration
, requiring them to be registered by the server as well forgrpcurl
to work properly.Setup
I am using
grpc-js
with NestJS integration along with@grpc/reflection
to register all my.proto
files on startup. It works exactly like their example. I also use ts-proto for generating the TypeScript interfaces from my.proto
files.I can
grpcurl localhost:5051 list
to see my services as expect:However, once I try to list one that uses a
Timestamp
message I get the following error:Interestingly, if I test it using the
-import-path
and-proto
flags then it works fine!I do not have any local copies of the Google well-known type
.protos
and my import looks like this inorganizations.proto
:Expectation
That
grpcurl
would have the Google well-known types pre-registered so that server reflection does not need to register them, which seems a bit redundant.The text was updated successfully, but these errors were encountered: