Skip to end of banner
Go to start of banner

SOAP Message Structure

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

Overview

All messages exchanged with pmsXchange are soap messages. They include a SOAP Security header for authentication purposes and contain the SOAP Body contains the OTA message. The following example is a complete SOAP message (this one shows an OTA_ReadRQ message payload)

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Header>
    <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
      <wsse:UsernameToken>
        <wsse:Username>USERNAME</wsse:Username>
        <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">SECRET</wsse:Password>
      </wsse:UsernameToken>
    </wsse:Security>
  </soap:Header>

  <soap:Body>

    <OTA_ReadRQ xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" EchoToken="abc123" TimeStamp="2012-03-09T21:32:52+08:00">
      <POS>
        <Source>
          <RequestorID Type="22" ID="PMS1"/>
        </Source>
      </POS>
      <ReadRequests>
        <HotelReadRequest HotelCode="ABC">
          <SelectionCriteria SelectionType="Undelivered" ResStatus="Book"/>
        </HotelReadRequest>
      </ReadRequests>
    </OTA_ReadRQ>

  </soap:Body>
</soap:Envelope>

Soap Security Header

The Security Header structure conveys authentication information. It is mandatory and both the /wsse:UsernameToken/wsse:Username and /wsse:UsernameToken/wsse:Password elements are mandatory. The only acceptable value for the Password/@Type attribute is "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText", indicating a plain text password. Plain text password are acceptable as all communication is done over encrypted HTTP.

Each connecting pmsXchange partner will be allocated a USERNAME and PASSWORD for use with this header.

Soap Faults

Generally OTA messages transmit "business logic" failures in the <Errors> element structure. However a soap fault can be returned in case of an unexpected error caused by for example a soap message where the xml cannot be parsed. The SOAP Fault will identify the party at fault (CLIENT/SERVER).

SOAP Fault - Invalid XML
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header/>
  <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
      <faultcode>
        SOAP-ENV:Client
      </faultcode>
      <faultstring xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace">
        Authentication failed - invalid username
      </faultstring>
    </SOAP-ENV:Fault>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
  • No labels