### Service Callout Action Properties

In a message flow, use a service callout action to configure a synchronous (blocking) callout to an ALSB-registered proxy or business service.

In the Message Flow Editor, click a service callout action to display its properties in the Properties view. Use these properties pages to configure the selected service callout action. The pages are:

- Service Callout
- Comment
- Namespaces
- Variables

The Service Callout page has the following options:

Option | Description
--- | ---
Service | The target service for the service callout action. Click Browse to select a proxy service or business service from a list.
Invoking | The operation to be invoked on the target service. This option appears only if the selected service is WSDL-based and has operations that can be invoked on the service.
Configure Soap Body or Configure Payload Document | 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. 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.

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 3-1 shows the options available for each service type.

Selected Service Type | "Configure SOAP Body" Options | "Configure Payload Parameters" Options or "Configure Payload Document" Options
--- | --- | ---
SOAP RPC | SOAP Request Body and SOAP Response Body SOAP Request Header and SOAP Response Header (optional) | Request Parameters and Response Parameters SOAP Request Header and SOAP Response Header (optional)
SOAP Document Any SOAP | SOAP Request Body and SOAP Response Body SOAP Request Header and SOAP Response Header (optional) | Request Document and Response Document SOAP Request Header and SOAP Response Header (optional)
XML Any XML Messaging | SOAP Request Body and SOAP Response Body | Request Document and Response Document

The following table provides instructions for each of the options listed in the table above.

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.

Optionally, add one or more transport header actions. For more information about transport header actions, see Transport Headers Action Properties

Note: | In addition to the transport headers you specify, headers are added by the ALSB binding layer.

Use the Comment page to add a comment, if desired:

Use the Namespaces page to see a list of defined namespaces or to create a new one.

Use the Variables page to see a list of defined context variables or to create a new one. For more information about context variables, see Message Context in the AquaLogic Service Bus User Guide.