SOA Outbound Message Processing Service
The SOA Outbound Message Processing service adds required HTTP headers to the SOAP message, which can then be processed by HTTP/HTTPS adapters before sending request or response by Web service consumer or provider.
It also converts the attachments to MIME type. The following table provides an overview of the SOA Outbound Message Processing service:
Category | Description |
---|---|
System Name | SOA Outbound Message Processing Service |
Graphical Process Modeler (GPM) categories | All Services |
Description | The SOA Outbound Message Processing service adds required HTTP headers to the SOAP message, which can then be processed by HTTP/HTTPS adapters before sending request or response by Web service consumer or provider, respectively. It also converts the attachments to MIME type. |
Business usage | Configured in GPM for an application Web service consumer process to add required headers to SOAP message before it is being posted by the HTTP/HTTPS adapter. Used by the system business process WS_RequestHandler in Web service provider. |
Usage example | On the consumer side of the Web Service, this service is used to add headers to the SOAP request message and convert attachments to MIME type before sending request to the application server through HTTP/HTTPS adapters. On the provider side, this service is used to add headers to the SOAP response message and convert attachments to MIME type before sending response to the application server through HTTP/HTTPS adapters. |
Preconfigured? | Yes. SOAOutboundMsgProcessingService_Instance |
Requires third-party files? | None |
Platform availability | All supported application platforms |
Related services | Generally used before an HTTP/HTTPS adapter before sending the request or response to the Web application server. |
Application requirements | WS Licensing |
Initiates business processes? | No |
Invocation | This service is used in a GPM in case of Web service consumer (must be put before HTTP adapter service). In case of Web service provider, it will be invoked internally by the business process used for provider to receive and process the SOAP request. |
Business process context considerations | None |
Returned status values | Returned status values:
|
Restrictions | There are no requirements on the usage of this service. The understanding of Web service provider and consumer will be offline and this service will come into picture if the SOAP message is sent/received by the application. |
Persistence level | System default |
Testing considerations | Debug information can be found by observing the execution flow of the business process in the application user interface. The level of logging can be controlled through the log.properties file, just as for other log files. Also see Business Usage, Usage Example and Application Requirements. |
Implementing the SOA Outbound Message Processing Service
- Create a configuration of the SOA Outbound Message Processing service. See Managing Services and Adapters. For information about the fields specific to this service, see Configuring the SOA Outbound Message Processing Service.
- Specify field settings for the service configuration in the application Admin Console and in the GPM as necessary.
Configuring the SOA Outbound Message Processing Service
You must specify field settings in the application, by using the Admin Console, and in the GPM.
Creating or Setting Up a Service Configuration in the Admin Console
Use the field definitions in the following table to create a new configuration of the SOA Outbound Message Processing service, or to set up the configuration provided with the application. Some fields are available in both the Admin Console and in the GPM. For the fields that are available in both, the GPM field name is shown in parentheses in the table below.
Field | Description |
---|---|
Name | Unique and meaningful name for the service configuration. Required. |
Description | Meaningful description for the service configuration, for reference purposes. Required. |
Select a Group | Select one of the options:
Note: See Managing Services and Adapters.
|
Setting Up the Service in the GPM
Use the field definitions in the following table to set up the service configuration in the GPM:
Field | Description |
---|---|
Config | Select the name of the service configuration from the list. |
Business Process Example
The following example illustrates how the SOA Outbound Message Processing service can be used in a business process:
Example Business Process as Web Service Provider
The following business process uses a dynamic service created in the application for sending a SOAP message through HTTP to an endpoint configured in the application itself (where the application is the consumer as well as provider). The SOA Outbound Message Processing service is used before the HTTP service.
<! -- New BP for the Web Service Layer -->
<process name = "WS_RequestHandler">
<rule name="ServiceBranch">
<condition>serviceMode=1</condition>
</rule>
<rule name="BPBranch">
<condition>serviceMode=0</condition>
</rule>
<sequence name="ProcessNonRMPart">
<!-- New SOA Inbound Security Service Handle signature
verification/decryption part -->
<operation name="SOAInboundSecurityService">
<participant name="SOAInboundSecurityService_Instance"/>
<output message="SOAInboundSecurityServiceInputMessage">
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<!-- Updated SOA Request Handler -->
<operation name="SOARequestHandler">
<participant name="SOARequestHandler_Instance"/>
<output message="SOARequestHandlerInputMessage">
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<choice name="Choice Start">
<select>
<case ref="ServiceBranch" activity="DynamicServiceInvoker"/>
<case ref="BPBranch" activity="Invoke Sub-Process"/>
</select>
<operation name="DynamicServiceInvoker">
<participant name="SOAServiceInvoker_Instance"/>
<output message="DynamicServiceInvokerInputMessage">
<assign to="SVC_NAME" from="string(/ProcessData/typeName)"></assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="Invoke Sub-Process">
participant name="InlineInvokeSubProcessService"/>
<output message="InvokeSubProcessServiceTypeInputMessage">
<assign to="WFD_NAME" from="string(/ProcessData/typeName)"></assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</choice>
<operation name="SOAResponseBuilder">
<participant name="SOAResponseBuilder_Instance"/>
<output message="SOAResponseBuilderInputMessage">
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="SOAOutboundSecurityService">
<participant name="SOAOutboundSecurityService_Instance"/>
<output message="SOAOutboundSecurityServiceInputMessage">
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<!-- SOAOutbound Service is required to add SOAPAction Header in the
Primary Document -->
<operation name="SOAOutboundMsgProcessingService">
<participant name="SOAOutboundMsgProcessingService_Instance"/>
<output message="SOAOutboundInputMessage">
<assign to="." from="*"></assign>
<assign to="ADD_SOAP_ENVELOPING">false</assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="HTTP Respond Service">
<participant name="HttpRespond"/>
<output message="HttpRespondServiceInputMessage">
<assign to="." from="*"></assign>
<assign to="doc-has-headers">true</assign>
</output>
<input message="inmessage">
<assign to="." from="*"></assign>
</input>
</operation>
<onFault>
<sequence name="Sequence Start">
<operation name="SOAFaultService">
<participant name="SOAFaultService_Instance"/>
<output message="SOAFaultServiceInputMessage">
<assign to="faultCode">Receiver</assign>
<assign to="faultString">Error Processing Request</assign>
<assign to="faultType">SOAP</assign>
<assign to="." from="*"></assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
<operation name="HTTP Respond Service">
<participant name="HttpRespond"/>
<output message="HttpRespondServiceInputMessage">
<assign to="." from="*"></assign>
<assign to="doc-has-headers">false</assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</onFault>
</sequence>
</process>
Example Business Process as Web Service Consumer

Parameters Passed From Service to Business Process
The following table contains the parameters passed from the SOA Outbound Message Processing service to the business process:
Parameter | Description |
---|---|
Attachment ID | Unique ID (MIME content ID) of the attachment, if attachment is passed with the SOAP message |
Primary Document | Primary Document |
SOAP Document Part | SOAP Document part of the SOAP message |