...
Virtualize uses a single message responder to emulate one call to a unary gRPC method. This is the default mode for methods in the gRPC custom listener. The client request is handled by the responder if the correlation criteria matches, then the responder returns the response to the gRPC client. Set a transport header correlation ofgRPC-Method
to match the message responder to the gRPC method name.
Streaming Methods
Multiple message responders are needed to emulate the streaming gRPC method types. In each case the client requests and server responses can be decoupled. Set a transport header correlation ofgRPC-Notification
to trigger the responder at the appropriate point in the stream. Supported values are: next
, completed
, and error
.
Set the message responder options for Message Exchange Pattern to Notification Only if the responder for this point in the stream should not send any response message back.
In order to send multiple response messages together on the steam, or send an error or completed notification, you will need to chain a messaging client to the request payload output of the message responder and map it to the same Call ID that is being handled by the responder. To do so:
- Right-click the responder and go to Add Output... > Incoming Request > Transport Header, then select Header Data Bank.
- Click Add Header, then select the header that's added and click Modify to add a header extraction for
gRPC-Call-ID
to a custom column. Click OK when you're done. - Right-click the responder again and go to Add Output... > Incoming Request > Payload, then select Messaging Client. Configure the transport of the messaging client to use gRPC with the parameterized CALL_ID in the streaming section.
The chained messaging client will send on the response stream for the virtualized gRPC call back to the client.
Third-party Content
...