SendSOAPRequest Business Process

The SendSOAPRequest business process enables Sterling B2B Integrator to send SOAP messages.

When Sterling B2B Integrator sends a SOAP message, SendSOAPRequest performs the following process:
  1. Applies a SOAP envelope to the data, if requested.
  2. The SendSOAPRequest business process adds SOAP headers to an outbound request if the process data contains SOAP headers. The business process takes all subordinate nodes under the SOAPHeaders node in process data and adds them as SOAP header blocks.
  3. The SendSOAPRequest business process adds SOAP attachments to an outbound request if the process data contains SOAP outbound attachments. The business process takes all subordinate nodes under the SOAPAttachments node, which are named SOAPAttachment1, SOAPAttachment2, and so on. These nodes must have a ContentID attribute specified, as well.
  4. Sends the SOAP message to a receiver using HTTP.
  5. Receives a response.
  6. Acknowledges a response.
  7. Provides a response to another business process in Sterling B2B Integrator.

The following figures show the SendSOAPRequest business process model as it displays in the GPM:

SendSOAPRequest business process model

The following figure continues the business process model of the SendSOAPRequest business process:

SendSOAPRequest business process model

The following BPML code makes up the SendSOAPRequest business process:


<process name="SendSOAPRequest">
  <sequence>
    <operation name="SoapOut">
      <participant name="SOAPOutbound"/>
      <output message="BPML:output">
        <assign to="." from="*"></assign>
      </output>
      <input message="input">
        <assign to="." from="*"></assign>
      </input>
    </operation>

    <sequence>
      <operation name="HTTP Client Begin">
        <participant name="HTTPClientBeginSession"/>
        <output message="HttpClientBeginServiceInputMessage">
          <assign to="." from="PrimaryDocument"></assign>
          <assign to="RemoteURL" from="xport-http-url/text()"></assign>
          <assign to="HTTPClientAdapter">HTTPClientAdapter</assign>
        </output>
        <input message="inmsg">
          <assign to="." from="*"></assign>
        </input>
      </operation>

      <operation name="HTTP Client Post">
        <participant name="HTTPClientPost"/>
        <output message="HttpClientPostServiceInputMessage">
          <assign to="." from="PrimaryDocument"></assign>
          <assign to="SessionToken" from="SessionToken/text()"></assign>
          <assign to="RawResponse">true</assign>
          <assign to="RawRequest" 
from="xport-force-b2b-raw-message/text()"></assign>
        </output>
        <input message="inmsg">
          <assign to="." from="*"></assign>
        </input>
      </operation>
<operation name="HTTP Client End">
        <participant name="HTTPClientEndSession"/>
        <output message="HttpClientEndServiceInputMessage">
          <assign to="SessionToken" from="SessionToken/text()"></assign>
        </output>
        <input message="inmsg">
          <assign to="." from="*"></assign>
        </input>
      </operation>

      <onFault>
        <sequence>
          <operation name="HTTP Client End">
            <participant name="HTTPClientEndSession"/>
            <output message="HttpClientEndServiceInputMessage">
              <assign to="SessionToken" from="SessionToken/text()"></assign>
            </output>
            <input message="inmsg">
              <assign to="." from="*"></assign>
            </input>
          </operation>

        </sequence>
      </onFault>
    </sequence>
    <operation name="SoapIn">
      <participant name="SOAPInbound"/>
      <output message="BPML:output">
        <assign to="." from="*"></assign>
        <assign to="bootstrap">false</assign>
      </output>
      <input message="input">
        <assign to="." from="*"></assign>
      </input>
    </operation>

  </sequence>
</process>