SOAP Commerce API with Web Services 2.0

This topic discusses Web Services 2.0. For information on Web Services 1.0, see Web Services 1.0.

Overview

The Commerce APIs provide functionality that is available through the regular bulk upload of the Asset Manager or the Real Time API provided through middleware. In addition, they provide the ability to create a new transaction (both with and without line items).

You can generate a skeleton input for each in the Commerce WSDL, which contains the following operations:

For each operation, the following fields are always required in the header:

ClosedCommerce SOAP API Details

For all SOAP APIs, the Failure Response Variables are exceptionCode and exceptionMessage.

Items in bold are the tags that are returned.


ClosedReturning Specific Attributes in Commerce APIs

Return specific attributes from a web service request with the <bm:return_specific_attributes /> tag.

For example, you can pull in four main-document attributes and two sub-document attributes. In return, you get a shortened version of the transaction XML, displaying only those attributes.

The following APIs can return specific attributes:

  • addToTransaction
  • createTransaction
  • getTransaction

Administration

ClosedAccessing the Commerce WSDL and Generating Skeleton Input

  1. Click Admin to go to the Admin Home Page.
  2. Click Web Services in the Integration Platform section.

    The Web Services Test page opens.

  3. Confirm that the Web Service Version is 2.0.
  4. Click the Commerce tab.
  5. Select an API from the drop-down.
  6. Choose a Commerce Process from the Process Name: drop-down.
  7. Click Generate Input to retrieve the skeleton.

    For more information on the body of the Commerce Web Service, and for code examples, see SOAP Commerce API with Web Services 1.0. With the exception of the header, the Web Services 1.0 code examples are valid in Web Services 2.0.


ClosedHeader Information for Web Services 2.0

For each API, the body of the SOAP XML is the same as it was for Web Services 1.0. This is the information contained between the <soapenv:Body> and </soapenv:Body> tags.

The header, contained between the <soapenv:Header> and </soapenv:Header> header, has changed with Web Services 2.0.
Comment Header: Web Services 1.0 Header: Web Services 2.0
No change <soapenv:Header> <soapenv:Header>
New tags  

<wsse:Security xmlns:wsse= "http://docs.oasis-open.org/wss/2004/
01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">

New user information replaces sessionId

<bm:userInfo . . . >

<bm:sessionId>

. . . . .
</bm:sessionId>

</bm:userInfo>

<wsse:UsernameToken wsu:Id="UsernameToken-2">

<wsse:Username/><wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"/>

</wsse:UsernameToken>

This is now in the URL, with the unique end point specified. <bm:category
xmlns:bm="urn:soap.bigmachines.com">
Commerce
</bm:category>
Now reflected in the SOAP Server URL field.
No longer needed

<bm:xsdInfo

. . . . .

</bm:xsdInfo>

 
Ending the new authentication  

</wsse:Security>

No change </soapenv:Header> </soapenv:Header>

Notes

Oracle CPQ 20B implements XML Translation Line Limits to prevent performance issues that could occur when generating XML for quotes with an extremely large number of transaction lines.Since SOAP APIs do not support pagination, the SOAP response does not indicate that there are additional rows. This limit impacts the following APIs:

  • getTransaction
  • createTransaction
  • addToTransaction
  • getTransaction
  • removeFromTransaction
  • updateTransaction

Related Topics

Related Topics Link IconSee Also