{
“fault”: {
“faultstring”: “Encountered the following exception while sending the gRPC request or processing the response: [io.grpc.StatusRuntimeException: UNIMPLEMENTED: The server does not implement the method /apigee.ExternalCalloutService/ProcessMessage].”,
“detail”: {
“errorcode”: “steps.externalcallout.ExecutionError”
}
}
}
Does this mean I should add more code into the server app to accept apigee rpc calls?
Is there any way to hit the grpc app using server reflection like grpcurl does?
What is the correct way to do this?
Hi @ArunavaP , just checking in to see if @hartmann 's suggestion helped resolve your question. If the provided guidance was helpful, marking it as an accepted solution would be great for others facing similar challenges.
The External Callout policy requires a specific gRPC proto implementation. This feature may only be helpful for you if you’re open to implementing this Apigee proto on the server side.
Based on your use case, I believe you’re looking for gRPC transcoding. This isn’t formally supported by Apigee yet. Currently, Apigee only supports gRPC as passthrough (streaming request and response).
While gRPC transcoding isn’t natively supported, you could inspect the binary gRPC payload (request or response) and decode it using a proto file and this sample Java Callout.