SOAP (Simple Object Access Protocol) is a highly structured protocol used, to exchange XML-based information when implementing Unimarket Web Services. Unlike the simpler POX protocol, SOAP relies on a WSDL (Web Services Description Language) to define the exact operations and data structures available.
Implementation Guide
To integrate using SOAP, your development team will typically use the WSDL to auto-generate the necessary client code for your specific programming platform (e.g., .NET, Java).
1. Technical Prerequisites
Authentication Details: Contact Unimarket to obtain your Tenant Identifier, Integration Username, and Shared Secret.
WSDL File: Download the official Unimarket WSDL from the Webservice Integration Documentation to identify the service operations.
XML Schema (XSD): Reference the schema to identify the top-level request elements required for your specific integration (e.g., Budget Check or User Sync).
2. Message Structure
A valid SOAP message for Unimarket must contain:
SOAP Envelope: The outer wrapper for the message.
Authentication Header: Your credentials must be included within the SOAP header to be accepted.
Request Body: The specific uXML request element that conforms to the Unimarket schema.
3. Regional SOAP Endpoints
Messages must be sent as an HTTPS POST to the unsigned SOAP endpoint relevant to your region and organization type:
| Region | Supplier SOAP Endpoint | Community SOAP Endpoint |
|---|---|---|
| United States | https://supplier.unimarket.com/ws-soap-unsigned | https://<code\>.unimarket.com/ws-soap-unsigned |
| New Zealand | https://supplier.unimarket.co.nz/ws-soap-unsigned | https://<code\>.unimarket.co.nz/ws-soap-unsigned |
| Australia | https://supplier.unimarket.com.au/ws-soap-unsigned | https://<code\>.unimarket.com.au/ws-soap-unsigned |
Pro-Tip: Testing with SoapUI
For initial testing and debugging, Unimarket recommends using SoapUI, a free open-source tool. By importing the Unimarket WSDL into SoapUI, you can quickly generate sample requests, input your credentials, and see the real-time XML response from the Unimarket servers without writing any code.
Comparison: SOAP vs. POX
While both use XML, SOAP is preferred for enterprise-level integrations where strict interface contracts and formal error handling are required. POX is often chosen for simpler, lightweight data-sync tasks.
Example SOAP message
| <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header> <header xmlns="http://www.unimarket.com/schema/unimarket-ws"> <authentication> <!-- Unique identifier of the Unimarket tenant (community or supplier) --> <tenant-ref domain="UNIMARKET_ID_DOMAIN" identity="782965bc-f39b-4589-8949-5530e6d1b287"/> <sender> <!-- Unique identifier of the Unimarket integration user --> <user-ref identity="AACCUMKT" domain="UNIMARKET_USERNAME_DOMAIN"/> <!-- Password used to authenticate the request --> <shared-secret>shared secret</shared-secret> </sender> </authentication> </header> </SOAP-ENV:Header> <SOAP-ENV:Body> <update-account-code-format-request xmlns="http://www.unimarket.com/schema/unimarket-ws"> <account-code-format code="PROJECT_A"> <account-code-format-part code="part-a" required="true"> <regular-expression-part max-length="1"> <expression>.*</expression> </regular-expression-part> </account-code-format-part> </update-account-code-format-request> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |