SOAP Message Structure


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="">

    <wsse:Security soap:mustUnderstand="1" xmlns:wsse="">
        <wsse:Password Type="">SECRET</wsse:Password>


    <OTA_ReadRQ xmlns="" Version="1.0" EchoToken="abc123" TimeStamp="2012-03-09T21:32:52+08:00">
          <RequestorID Type="22" ID="PMS1"/>
        <HotelReadRequest HotelCode="ABC">
          <SelectionCriteria SelectionType="Undelivered" ResStatus="Book"/>


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 "", 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="">
      <faultstring xml:lang="en" xmlns:xml="">
        Authentication failed - invalid username