Finally got my service running with gRPC, server implemented (probably ok) and client implemented (probably ok), but I get weird errors when calling a gRPC endpoint. JSON works as expected:
https://localhost:5001/endswith/oek?format=json
gives me a result like:
This is as it was, so I decorated the request and response:
[Route("/endswith/{Suffix}", Summary = "Woorden vinden die eindigen op een suffix")]
[DataContract]
public class EndsWithSuffixRequest : IReturn<EndsWithSuffixResponse>
{
[DataMember(Order = 1),
ApiMember(Name = "Suffix", Description = "Suffix op te zoeken", DataType = "string", IsRequired = true)]
public string Suffix { get; set; }
}
[DataContract]
public class EndsWithSuffixResponse
{
[DataMember(Order = 1)]
public SearchResult Result { get; set; }
[DataMember(Order = 2)]
public int Count { get; set; }
[DataMember(Order = 3)]
public List<string> Words { get; set; }
}
When I look at the generated code (csharp) this seems perfect https://localhost:5001/types/csharp
gives
Now, when I try to call it through gRPC from a client with
private async Task<EndsWithSuffixResponse> GetEndsWithSuffixAsync(EndsWithSuffixRequest request)
{
var client = new GrpcServiceClient(backendUri);
var response = await client.GetAsync(request);
return response;
}
then I DO see a response from the server:
and this on the client:
Apparently a 404. So, I wanted to test with the proto file, but that does not work either
the link https://localhost:5001/types/proto
gives a 500 error
I cannot see why. The exception does not bubble up on the server side.
Please advise.