Invoke webMethods IS
This policy pre-processes the request messages and transforms the message into the format required by the native API or performs some custom logic, before API Gateway sends the requests to the native APIs.
For example, you might need to accommodate differences between the message content that a client is capable of submitting and the message content that a native API expects. For example, if the client submits an order record using a slightly different structure than the structure expected by the native API, you can use this action to process the record submitted by the client to the structure required by the native API.
If Comply to IS Spec parameter is configured as true, API Gateway invokes the IS Service with IS specification in the path pub.apigateway.invokeISService.specifications:RequestSpec for Request Processing
The following are the input and output parameters for REST, and SOAP APIs as specified in the above IS Specification.
API type | Input parameters | Output parameters |
REST | headers query payload path httpMethod messageContext apiName requestUrl correlationID (this is unique for request and response) | headers query payload path httpMethod messageContext |
SOAP | headers payload messageContext apiName payloadObject requestUrl correlationID (this is unique for request and response) | headers payload messageContext payloadObject |
For SOAP to REST APIS, the payload contains the transformed SOAP request.
In the 10.2 release, payload transformation does not happen automatically for content-type transformation. When you change the content type, ensure to do payload transformation also as part of IS Service. For example, if you change the content-type header from application/xml to application/json using IS service, you must also change the respective payload from application/xml to application/json
Only Method Transformation happens when configured, but you have to take care of adding payload during transformations involving method change like GET to POST, and so on.
When
Comply to IS spec is
true, you can change the values of headers, query, payload, and so on, programatically using Message Context, as well as using the pipeline variables given.
Software AG recommends you do not change those values directly in Message Context, as the values in output pipeline variables are written to Message Context after the invocation of IS Service.
If Comply to IS Spec parameter is set to false, API Gateway invokes the IS Service with the same input and output parameters supported in 10.1 and the earlier versions:
proxy.name
JSONRESTContentString (REST only)
SOAPEnvelope (SOAP only)
EnvelopeString (SOAP only)
The table lists the properties that you can specify for this policy:
Parameter | Description |
Invoke webMethods Integration Server Service |
Add invoke webMethods Integration Server service | Specifies the webMethods IS service to be invoked to pre-process the request messages and the authentication mode for the IS service. Provide the following information: webMethods IS Service. Specify the webMethods IS service to be invoked to pre-process the request messages. The list displays only the pre-shipped Integration Server services, which you can invoke to pre-process or post-process the request message. Run as User. Specifies the authentication mode to invoke the IS service. If this field is left blank the incoming credentials of the user, identified by API Gateway, are used to authenticate and invoke the IS service. You can also specify a particular user, you want API Gateway to invoke the IS service. Note: It is the responsibility of the user who activates the API to review the value configured in Run as User field to avoid misuse of this configuration. Comply to IS Spec. Mark this as true if you want the input and the output parameters to comply to the IS Spec present in pub.apigateway.invokeISService.specifications folder in wmAPIGateway package. Note: Software AG recommends users to configure the policy with Comply to IS Spec as true, as you can read or change the values of headers, and so on, without having to read from or write to the message context. |
webMethods IS Service alias | Specifies the webMethods IS service alias to be invoked to pre-process the request messages. Start typing the webMethods alias name, select the alias from the type-ahead search results displayed and click to add one or more aliases. You can use the delete icon to delete the added aliases from the list. |