...
Scroll Table Layout | ||
---|---|---|
|
Listen Port | Specify the listen port.port Virtualize should open for receiving incoming gRPC calls. Virtualize will select an open port automatically when set to 1
If this field is left blank, this virtual asset will not listen for gRPC calls. |
---|---|
Service Name | Specify the gRPC service name that corresponds with this virtual asset. |
Method Names | Specify the method name or namesthe gRPC methods for the above service to be handled by this virtual asset. Separate multiple entries with commas. |
Method Type(s)Types | Specify the method type or types, for example unary or stream . Separate multiple entries with commas. The default is unary . |
...
Log Level | Specify how much information you want logged to the console. The default is |
---|
Virtualizing Different gRPC Services
Each virtual asset represents one gRPC service with one or more methods. Deploy multiple virtual assets on the same gRPC port to represent multiple gRPC services on the same gRPC server.
Virtualizing Different gRPC Methods
A gRPC method may operate as one of four types:
- Unary
- Server streaming
- Client streaming
- Bidirectional streaming
Unary Method
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
This extension includes items that have been sourced from third parties as outlined below.
...