Adding Service Callout Actions

Use a service callout action to configure a synchronous (blocking) callout to an ALSB-registered proxy or business service.
  1. Navigate to where you want to add the action, as described in Adding and Editing Actions in Message Flows.
  2. Click the appropriate icon, then select Add an Action > Communication > Service Callout.
  3. Click <Service>. The Service Browser is displayed.
  4. Select a service from the list of registered proxy or business services, then click Submit.
  5. If the service you chose in step 3, above, is WSDL-based and has operations that can be invoked on the service, those operations are listed in the invoking <Operation> drop-down list. Select an operation to be invoked on the service.
  6. Specify how you want to configure the request and response messages by selecting one of the following options:
    • Select Configure SOAP Body to configure the SOAP Body. Selecting this option allows you to use $body directly.
    • Note: This option supports SOAP-RPC encoded, which is not supported when configuring payload parameters or document.
    • Select Configure Payload Parameters or Configure Payload Document to configure the payload.
  7. Subsequent configuration options depend on the kind of service you selected in step 3 and on the kind of configuration options you chose for that service in step 5. Table 19-3 shows the options available for each service type.
    Table 19-3 Service Callout Configuration Options for Each Service Type 
    Selected Service Type
    "Configure SOAP Body" Options
    "Configure Payload Parameters" Options or
    "Configure Payload Document" Options
    • SOAP RPC
    • SOAP Document
    • Any SOAP
    • XML
    • Any XML
    • Messaging
  8. Table 19-4, below, provides instructions for each of the options listed in Table 19-3, above.

    Table 19-4 Service Callout Configuration Options 
    For These Options...
    Follow These Steps...
    SOAP Request Body and
    SOAP Response Body
    To configure these options,
    • In the SOAP Request Body field, enter the name of a variable to hold the XML of the SOAP Body element for the callout request.
    • In the SOAP Response Body field, enter the name of a variable to which the XML of the SOAP Body element on the response will be bound.
    SOAP Request Header and
    SOAP Response Header
    To configure these options,
    • In the SOAP Request Header field, enter the name of a variable to hold the XML of the SOAP Header element for the callout request
    • You must wrap the input document for the SOAP Request Header with <soap-env:Header>...</soap-env:Header>.

    • In the SOAP Response Header field, enter the name of a variable to which the XML of the SOAP Headers on the response, if any, will be bound.
    Request Parameters and
    Response Parameters
    To configure options,
    • In the Request Parameters fields, enter names for the variables that will be evaluated at run time to provide values for the request parameters.
    • You must provide only the core payload documents in the input variable-the SOAP package is created for you by AquaLogic Service Bus. In other words, do not wrap the input document with <soap-env:Body>...</soap-env:Body>.

      For example, when creating a body input variable that is used for this request parameter, you would define that variable's contents using the XPath statement body/* (to remove the wrapper soap-env:Body), not $body (which results in keeping the soap-env:Body wrapper).

    • In the Response Parameters fields, enter the names of the variables to which the responses will be assigned at run time.
    Request Document and
    Response Document
    To configure these options,
    • In the Request Document Variable field, enter the name of a variable to assign a request document to.
    • For SOAP Document-type services, the variable is evaluated at runtime to form the body of the SOAP message sent to the service. For Any XML services, the variable is evaluated at runtime to form the body of the XML message sent to the service.

      For SOAP Document-type services and for Any XML services, you provide only the core payload documents in the input variable-the SOAP package is created for you by AquaLogic Service Bus. In other words, do not wrap the input document with <soap-env:Body>...</soap-env:Body>.

      For example, when creating a body input variable that is used for this request parameter, you would define that variable's contents using the XPath statement body/* (to remove the wrapper soap-env:Body), not $body (which results in keeping the soap-env:Body wrapper).

      For Messaging services, the variable is evaluated to form the body of the message, based on the type of data expected by the service. The following restrictions apply to variables used with Messaging services:

      • For services that expect binary data, the variables must have a ctx:binary-content element.
      • For services that expect MFL data, the variable must have the XML equivalent.
      • For services that expect text data, the variable is a string.
    • In the Response Document Variable field, enter the name of the variable to which a response document will be assigned at run time.

  9. Optionally, add one or more transport headers. For more information, see Adding Transport Header Actions.
  10. Note: In addition to the transport headers you specify, headers are added by the ALSB binding layer. For more information, see Configuring Transport Headers in Message Flows in AquaLogic Service Bus User Guide.

After you finish

When you complete the configuration of this action, continue by configuring other actions or by saving your configuration, as described in Adding and Editing Actions in Message Flows.