soapsoap-clientsabresabredav

Unable to update passenger name in created PNR at sabre


I am developing API to update passenger detail like name and DOB in PNR.
I followed this http://files.developer.sabre.com/doc/providerdoc/pnrservices/UpdateReservationRQ_1_15_0_User_Guide.pdf
Request xml

  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sec="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:v1="http://webservices.sabre.com/pnrbuilder/v1_15" xmlns:v11="http://services.sabre.com/res/or/v1_8">
   <soapenv:Header>
      <sec:Security xmlns:sec="http://schemas.xmlsoap.org/ws/2002/12/secext">
         <sec:BinarySecurityToken valueType="String" EncodingType="sec:Base64Binary">${#Project#sessionid}</sec:BinarySecurityToken>
      </sec:Security>
      <eb:MessageHeader eb:version="2.0">
         <eb:From>
            <eb:PartyId type="urn:x12.org:IO5:01">999999</eb:PartyId>
         </eb:From>
         <eb:To>
            <eb:PartyId type="urn:x12.org:IO5:01">343434</eb:PartyId>
         </eb:To>
         <eb:CPAId>AB</eb:CPAId>
         <eb:ConversationId>test123</eb:ConversationId>
         <eb:Service eb:type="OTA">UpdateReservationRQ</eb:Service>
         <eb:Action>UpdateReservationRQ</eb:Action>
         <eb:MessageData>
            <eb:MessageId>1001</eb:MessageId>
            <eb:Timestamp>2017-01-10T10:00:00</eb:Timestamp>
            <eb:TimeToLive>2017-01-16T23:59:59</eb:TimeToLive>
         </eb:MessageData>
      </eb:MessageHeader>
   </soapenv:Header>
   <soapenv:Body>
    <v1:UpdateReservationRQ Version="1.15.0">
    <v1:RequestType>Stateless</v1:RequestType>
    <v1:ReturnOptions IncludeUpdateDetails="true" RetrievePNR="true" />
    <v1:ReservationUpdateList>
        <v1:Locator>${#Project#pnr}</v1:Locator>
            <v1:ReservationUpdateItem>
              <!--Optional:-->
                   <v1:PassengerNameUpdate op="U">
                      <!--Optional:-->
                      <v1:TravelerName type="ADT">
                         <!--Optional:-->
                        <v1:Given>Ramesh</v1:Given>
                         <v1:Surname>Tiwari</v1:Surname>                   
                      </v1:TravelerName>
                      <!--Optional:-->
                      <v1:NameAssociationTag>
                            <v1:LastName>Praveen</v1:LastName>
                            <v1:FirstName>Deshmukh</v1:FirstName>
                            <v1:NameRefNumber>01.01</v1:NameRefNumber>
                         </v1:NameAssociationTag>
                   </v1:PassengerNameUpdate>
                   <!--Optional:-->          
            </v1:ReservationUpdateItem>
        <v1:ReceivedFrom>
            <v1:AgentName>AESWSSELL1AEBG</v1:AgentName>
        </v1:ReceivedFrom>
    </v1:ReservationUpdateList>
</v1:UpdateReservationRQ>
</soapenv:Body>
</soapenv:Envelope>

But continually getting below error.

<soap-env:Body>
      <stl15:UpdateReservationRS xmlns:stl15="http://webservices.sabre.com/pnrbuilder/v1_15" xmlns:ns6="http://services.sabre.com/res/orr/v0" xmlns:raw="http://tds.sabre.com/itinerary" xmlns:or18="http://services.sabre.com/res/or/v1_8" xmlns:ns4="http://webservices.sabre.com/pnrconn/ReaccSearch">
         <stl15:Success>FALSE</stl15:Success>
         <stl15:Warnings>
            <stl15:Warning>
               <stl15:Message>PARTIAL ERROR</stl15:Message>
            </stl15:Warning>
         </stl15:Warnings>
         <stl15:Errors>
            <stl15:Error UpdateId="">
               <stl15:Code>500601</stl15:Code>
               <stl15:Message>UNABLE TO PROCESS</stl15:Message>
            </stl15:Error>
         </stl15:Errors>
         <stl15:Results/>
      </stl15:UpdateReservationRS>
   </soap-env:Body>

Please help me to find out what change in require in the request.


Solution

  • It is possible to update passenger detail in created PNR. In above request require PNR created date to compete this process.

    <stl1:Locator>XPKCGL</stl1:Locator>
                    <stl1:CreateDate>2017-05-23</stl1:CreateDate>
    

    Below is complete request.

    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:ns1="http://webservices.sabre.com/pnrbuilder/getres" xmlns:ns12="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns13="http://www.w3.org/1999/xlink" xmlns:ns14="http://www.w3.org/2000/09/xmldsig#" xmlns:or="http://services.sabre.com/res/or/v1_8" xmlns:ota="http://webservices.sabre.com/sabreXML/2003/07" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:stl1="http://webservices.sabre.com/pnrbuilder/v1_15" xmlns:stl2="http://services.sabre.com/STL/v01" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xml="http://www.w3.org/XML/1998/namespace">
        <SOAP-ENV:Header>
            <sec:Security xmlns:sec="http://schemas.xmlsoap.org/ws/2002/12/secext">
             <sec:BinarySecurityToken valueType="String" EncodingType="sec:Base64Binary">${#Project#sectoken}</sec:BinarySecurityToken>
           </sec:Security>
            <MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader" version="1.0">
                <eb:From>
                    <eb:PartyId type="urn:x12.org:IO5:01">99935345999</eb:PartyId>
                </eb:From>
                <eb:To>
                    <eb:PartyId type="urn:x12.org:IO5:01">344535</eb:PartyId>
                </eb:To>
                <eb:CPAId>AB</eb:CPAId>
                <eb:ConversationId>cpm23432</eb:ConversationId>
                <eb:Service type="OTA">UpdateReservationOperation</eb:Service>
                <eb:Action>UpdateReservationRQ</eb:Action>
                <eb:MessageData>
                    <eb:MessageId>608926</eb:MessageId>
                    <eb:Timestamp>2017-05-22T15:49:07Z</eb:Timestamp>
                </eb:MessageData>
            </MessageHeader>
        </SOAP-ENV:Header>
        <SOAP-ENV:Body>
            <stl1:UpdateReservationRQ xmlns="http://webservices.sabre.com/pnrbuilder/v1_15" Version="1.15.0">
                <stl1:RequestType>Stateless</stl1:RequestType>
                <stl1:ReturnOptions IncludeUpdateDetails="true" RetrievePNR="true" />
                <stl1:ReservationUpdateList>
                    <stl1:Locator>XPKCGL</stl1:Locator>
                    <stl1:CreateDate>2017-05-23</stl1:CreateDate>
                    <stl1:ReservationUpdateItem UpdateId="ID-1">
                        <stl1:PassengerNameUpdate op="U">
                            <stl1:TravelerName type="ADT" referenceId="1">
                                <stl1:Given>RamRaj</stl1:Given>
                                <stl1:Surname>Des</stl1:Surname>
                            </stl1:TravelerName>
                            <stl1:NameAssociationTag>
                                <stl1:LastName>DESHMUKH</stl1:LastName>
                                <stl1:FirstName>PRAVEEN</stl1:FirstName>
                                <stl1:NameRefNumber>01.01</stl1:NameRefNumber>
                            </stl1:NameAssociationTag>
                        </stl1:PassengerNameUpdate>
                    </stl1:ReservationUpdateItem>
                    <stl1:ReceivedFrom>
                        <stl1:AgentName>CPM MBE</stl1:AgentName>
                    </stl1:ReceivedFrom>
                </stl1:ReservationUpdateList>
            </stl1:UpdateReservationRQ>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>