Prepare a SOAP Request with Web Services 1.0

Overview

We need to build out the SOAP request. We recommend using a tool such as SoapUI for this. SoapUI takes in the WSDL as input and generates the SOAP request for each API call defined by the WSDL. All we have to do, is take this SOAP request, change it to have the fields we require, and send it through a POST HTTP request.

Administration

Let's assume we have the required WSDL files containing the definitions of the various web services available. Secondly, let us assume we have the session ID.

  1. Begin with the following sample input SOAP XML.

    <soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:ns='urn:crmondemand/ws/account/10/2004' xmlns:acc='urn:/crmondemand/xml/account'>
      <soapenv:Body>
        <ns:AccountWS_AccountQueryPage_Input>
          <ns:PageSize>100</ns:PageSize>
          <acc:ListOfAccount>
            <acc:Account>
              <acc:AccountId/>
              <acc:Description/>
              <acc:Location/>
              <acc:AccountName>LIKE ‘*BAKE*'</acc:AccountName>
              <acc:Region/>
              <acc:AccountType/>
              <acc:ListOfAddress>
                <acc:Address>
                  <acc:AddressId/>
                  <acc:City/>
                  <acc:Country/>
                  <acc:StateProvince/>
                  <acc:Address/>
                  <acc:StreetAddress2/>
                  <acc:StreetAddress3/>
                </acc:Address>
              </acc:ListOfAddress>
            </acc:Account>
          </acc:ListOfAccount>
        </ns:AccountWS_AccountQueryPage_Input>
      </soapenv:Body>
    </soapenv:Envelope>
    
  2. Put this SOAP input into a POST request. In Oracle CPQ we would do this through URLDATABYPOST.
  3. "Stringify" the above SOAP input, and that forms second parameter to URLDATABYPOST.
  4. The first parameter is the Url. That would also be available from the WSDLs and along with the session id, should look something like:

    https://secure-ausomxdia.crmondemand.com/Services/Integration/object;jsession= 8d497390b14d3588fef9b6f.e3iRbuMa

Notes

SOAP requests must include "Agent" information.

Related Links

Related Topics Link IconSee Also