webMethods IS

The webMethods IS policy allows API Studio to process incoming requests before forwarding them to the native API. It can transform the message into the format that is specified or apply custom logic as needed.

For example, if a client sends an order record in a structure that differs from what the native API expects, this policy can convert the record to match the expected format. The policy does it by bridging any mismatch between client and backend requirements.

Example of a webMethods IS policy:

kind: WebMethodsISService
apiVersion: api.webmethods.io/beta
metadata:
  name: webMethodsISService
  namespace: sample
  version: 1
  spec:
    enabled: true
    condition: |
      (${request.httpMethod} equals POST) or 
      (${request.headers.name} notEquals ${request.payload.jsonPath[$.customer.name]})
    # other operators include Equals, Equals ignore case, Not equals, Not equals ignore case, Contains, Not Contains, Exists, Not Exists, IP Range, Greater Than, Lesser Than
    services:
     - name: sample
       runAs: #developer, administrator,default, replicator
       complyToISSpec: true
    alias: 'alias'
As part of the webMethods IS configuration, you can specify:
Type Description
kind WebMethodsISService. Defines the type of policy that is being configured.
apiVersion Denotes the version of the API in use.
metadata Denotes the metadata or details of the asset type.
It covers this metadata:
  • name. Name of the policy.
  • version. Version of the policy.
  • namespace. Namespace identifier for the policy.
spec
You can configure the following policy properties:
  • enabled. Specifies whether the policy is active. Set the value to true to enable the policy, and set it to false to disable the policy.
  • condition. Conditions are used to specify when the policy is run. You can add multiple conditions with logical operators. Provide the condition in the format: {set} operator {value} condition {set} operator {value}

    You can use the following conditions:

    • Transform the requests that comply with all the configured conditions in the code view by using and, or in the form view by selecting the AND option.
    • Transform the requests that comply with any one configured condition in the code view by using or, or in the form view by selecting the OR option.

    You can use the following operators:

    • Equals
    • Equals ignore case
    • Not equals
    • Not equals ignore case
    • Contains
    • Not Contains
    • Exists
    • Not Exists
    • IP Range
    • Greater Than
    • Lesser Than
  • Define the Integration Server services that this policy applies to in the code view by using the services field, or in the form view by clicking the Add webMethods IS service button.
    • Enter the full web Methods IS service path in the code view by using name, or in the form view under the webMethods IS Service field.
    • Define the authentication mode for starting the IS service. If left blank, API Studio uses the caller’s credentials. Specify what roles or permissions to use when executing this service in the code view by using runas, or in the form view under the Run as user field.

      You can also specify a fixed user for API Studio to use by configuring one of these user types:
      • developer
      • administrator
      • default
      • replicator
    • Enforce that the service must comply with IS specifications in the code view under complyToISSpec by setting it to true, or in the form view by selecting the Comply to IS spec.
    • Set an another name or alias for the policy in the code view under alias.