Modeling Guide

OpenAPI Server

The OpenAPI server operator is a convenient server side component that is suitable for providing services described in swagger/openAPI or unspecified http services in vflow. The component runs within the web container of vflow and inherits its security configuration. More concretely, this operator is configured to start its REST endpoint relative to the vflow's service path at /openapi/service/basePath/.

When a request matching this path arrives, an output message is generated and sent to the connected operator. This operator supports both request-response and oneway message exchange patterns (MEPs). Currently, this choice must be configured per operator. When the operator is running in the request-response mode, the caller waits for the response up to the specified timeout. If the response message is returned to this operator over vflow's response callback mechanism, it is returned to the caller. Otherwise, an error is returned to the caller.

Note that the service resides not at /openapi/service/basePath but within /openapi/service/basePath. In other words, a request to /openapi/service/basePath will return an HTTP 301 response redirecting to /openapi/service/basePath/.

The output message generated by this operator depends on whether it is configured as the plain mode (i.e., no swagger document is associated) or the swagger-driven mode (i.e., a swagger document is associated). In the plain mode, the headers and body of the incoming message will be directly transferred to the output message. In contrast, in the swagger-driven mode, the matching operation to the incoming message will be determined and the corresponding parameters for that operation will be extracted. Subsequently, these operation specific parameters will be transferred to the output message.

For more information about OpenAPI and Vflow, see OpenAPI Client.

Configuration Parameters

Parameter

Type

Description

basePath

string

The service's base path.

Default: /untitled

timeout

int

The timeout value in milliseconds to wait for a response.

Default: 300000

oneway

bool

If set to true, this operator does not wait for a response and returns an HTTP 204 immediately. If set to false, this operator waits for a response up to the timeout value.

Default: false

swaggerSpec

string

The optional swagger document for this service endpoint. If this parameter is specified, a GET request to /openapi/service/_basePath_/swagger.json will return the swagger spec document. (Note that this _basePath_ value corresponds to the value of the above basePath parameter and not the value of the basePath property configured in the swagger document.)

Furthermore, the request message will be processed according to this swagger document and the corresponding parameters will be extracted and injected into the output message. For the header names of the injected parameters, refer to the documentation for openapi.client.

All the operations declared in the swagger document are accessible. If this parameter is not specified, the incoming messages are processed in the generic mode.

Default: ""

websocket

bool

If set to true, this operator's swaggersocket mode is enabled and the operator accepts requests over websocket and returns responses asynchronously.

Default: false

maxConcurrency integer The maximum number of concurrent requests that are handled per operator instance. If the message order must be preserved, set this value to 1.

Default: 8

Input

None

Output

Output

Type

Description

out

message

Output message where parameters are set in the headers, and the optional content in body.