I’m building a gRPC server and it’s using mutual tls. Right now, it’s configured just to listen for heartbeat messages from clients as a litmus test. When a client, either one written in Rust or the grpcurl
CLI, hit my application, they get the following error message:
(from Rust)
Error: Status { code: Unimplemented, message: "Operation is not implemented or not supported/enabled in this service", metadata: MetadataMap { headers: {"content-length": "0", "content-type": "application/grpc+proto", "date": "Tue, 25 May 2021 13:42:25 GMT", "server": "Cowboy"} } }
This is the reply, so the content length of the reply is 0, my message to the server was populated.
Here’s the line in the protobuf file that’s relevant:
service HostHandshake {
rpc heartBeat(ProviderHeartBeat) returns (Empty);
}
And here’s my server definition (which is named by an endpoint):
@spec heart_beat(HostCore.Capcom.ProviderHeartBeat.t) :: Wasmcloud.Capcom.Empty.t
def heart_beat(hb) do
IO.inspect hb
Wasmcloud.Capcom.Empty.new()
end
Anybody know why my stuff is showing up as not implemented? What wiring am I missing?