Sabre Refresh Session - OTA_PingRQ response says Invalid version - sabre

Attempting to refresh a session, but getting Error Invalid version. I know the session is good because I can take the same BinarySecurityToken and close the session.
Request
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader">
<From>
<PartyId type="urn:x12.org:IO5:01">Foo</PartyId>
</From>
<To>
<PartyId type="urn:x12.org:IO5:01">Sabre webservices.havail.sabre.com</PartyId>
</To>
<CPAId>***</CPAId>
<ConversationId>1564099200</ConversationId>
<Service type="sabreXML">OTA_PingRQ</Service>
<Action>OTA_PingRQ</Action>
<MessageData>
<MessageId>1564099200</MessageId>
<Timestamp>2019-07-26T00:00:000</Timestamp>
<TimeToLive>2019-07-26T00:00:000</TimeToLive>
</MessageData>
</MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/12/utility">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESC!ICESMSLB\/RES.LB!-2991842063860894070!1557562!0</wsse:BinarySecurityToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<OTA_PingRQ TimeStamp="2019-07-26T16:36:58-6:00" Version="1.0.0">
<EchoData>refreshed</EchoData>
</OTA_PingRQ>
</soapenv:Body>
</soapenv:Envelope>
I have attempted changing the version number, but no dice.
Response
<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI">Sabre webservices.havail.sabre.com</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">Foo</eb:PartyId>
</eb:To>
<eb:CPAId>****</eb:CPAId>
<eb:ConversationId>1564099200</eb:ConversationId>
<eb:Service eb:type="sabreXML">Session</eb:Service>
<eb:Action>OTA_PingRS</eb:Action>
<eb:MessageData>
<eb:MessageId>8222820814369030622</eb:MessageId>
<eb:Timestamp>2019-07-26T22:37:16</eb:Timestamp>
<eb:RefToMessageId>1564099200</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<BinarySecurityToken valueType="String" EncodingType="Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESC!ICESMSLB\/RES.LB!-2991842063860894070!1557562!0</BinarySecurityToken>
</Security>
</Header>
<Body>
<OTA_PingRS xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0.0">
<Errors>
<Error Type="VER">Invalid version</Error>
</Errors>
</OTA_PingRS>
</Body>
</Envelope>
Please advise.

I think it refers to the version on the header, try adding version to the "MessageHeader" Element:
MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader" version="1.0"

use this:
<soapenv:Envelope xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
....
</soapenv:Envelope>
or
<OTA_PingRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2020-03-17T04:14:00+08:00" Version="1.0.0">
<EchoData>refreshed</EchoData>
</OTA_PingRQ>

Related

Sabre Hotel Availability API - ‡NO LISTING THIS CTY

All requests I make to the Hotel Availability API are met with ‡NO LISTING THIS CTY error responses. I'm not sure what the issue could be as I'm near certain my credentials are correct the requests I'm using are directly from Sabre's given examples. I've placed an example request and response below;
Request:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www. w3.org/1999/XMLSchema" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<SOAP-ENV:Header>
<eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0">
<eb:From>
<eb:PartyId>Us</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId>SabreAPI</eb:PartyId>
</eb:To>
<eb:CPAId>OurPCC</eb:CPAId>
<eb:ConversationId>ourConvID</eb:ConversationId>
<eb:Service>OTA_HotelAvailLLSRQ</eb:Service>
<eb:Action>OTA_HotelAvailLLSRQ</eb:Action>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">OurToken</wsse:BinarySecurityToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<OTA_HotelAvailRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.3.0">
<AvailRequestSegment>
<GuestCounts Count="1"/>
<HotelSearchCriteria>
<Criterion>
<Address>
<CountryCode>US</CountryCode>
</Address>
<HotelRef HotelCityCode="DFW"/>
</Criterion>
</HotelSearchCriteria>
<TimeSpan End="04-24" Start="04-22"/>
</AvailRequestSegment>
</OTA_HotelAvailRQ>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Response:
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI">SabreAPI</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">Us</eb:PartyId>
</eb:To>
<eb:CPAId>OurPCC</eb:CPAId>
<eb:ConversationId>OurConvID</eb:ConversationId>
<eb:Service>OTA_HotelAvailLLSRQ</eb:Service>
<eb:Action>OTA_HotelAvailLLSRS</eb:Action>
<eb:MessageData>
<eb:MessageId>1676193648756670150</eb:MessageId>
<eb:Timestamp>2018-03-27T18:01:17</eb:Timestamp>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">OurToken</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<OTA_HotelAvailRS xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stl="http:// services.sabre.com/STL/v01" Version="2.3.0">
<stl:ApplicationResults status="NotProcessed">
<stl:Error type="BusinessLogic" timeStamp="2018-03-27T13:01:17-05:00">
<stl:SystemSpecificResults>
<stl:Message>‡NO LISTING THIS CTY</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</OTA_HotelAvailRS>
</soap-env:Body>
</soap-env:Envelope>
Resolved: I contacted Sabre web services support and this seems to be a problem within Sabre's system itself. It is being taken care of by Sabre.

Sabre API - Hotel Booking Request - CVC Validation Error

I am creating following Sabre Hotel booking request to book a hotel room but getting CVC validation error.
My question is that by looking the below response, it is clear that we have to set CVC code somewhere in the Request but Sabre is not providing any option or variable to set this in the XML request.
How can i set this CVC value to resolve the issue?
Request:
<OTA_HotelResRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.2.0">
<Hotel>
<BasicPropertyInfo RPH="2" />
<Guarantee Type="GDPST">
<CC_Info>
<PaymentCard Code="AX" ExpireDate="2012-12" Number="1234567890" />
<PersonName>
<Surname>TEST</Surname>
</PersonName>
</CC_Info>
</Guarantee>
<RoomType NumberOfUnits="1" />
<SpecialPrefs>
<WrittenConfirmation Ind="true" />
</SpecialPrefs>
</Hotel>
</OTA_HotelResRQ>
and after hitting the above request, getting following response string-
Response:
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="urn:x12.org:IO5:01">ws</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="urn:x12.org:IO5:01">from</eb:PartyId>
</eb:To>
<eb:ConversationId>SabreConversationMyFlightSearch</eb:ConversationId>
<eb:Service eb:type="sabreXML" />
<eb:Action>OTA_HotelResLLSRS</eb:Action>
<eb:MessageData>
<eb:MessageId>4300704404584800230</eb:MessageId>
<eb:Timestamp>2017-08-23T11:14:18</eb:Timestamp>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/RESC!ICESMSLB\/RES.LB!-3240444724556748409!1141634!0</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<soap-env:Fault>
<faultcode>soap-env:Client.Validation</faultcode>
<faultstring>ERR.SWS.CLIENT.VALIDATION_FAILED</faultstring>
<detail>
<stl:ApplicationResults xmlns:stl="http://services.sabre.com/STL/v01" status="NotProcessed">
<stl:Error timeStamp="2017-08-23T06:14:18-05:00" type="Validation">
<stl:SystemSpecificResults>
<stl:Message>cvc-datatype-valid.1.2.1: '' is not a valid value for 'integer'.</stl:Message>
<stl:ShortText>ERR.SWS.CLIENT.VALIDATION_FAILED</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</detail>
</soap-env:Fault>
</soap-env:Body>
</soap-env:Envelope>

SABRE / Acces to CreateTokenRQ

I have a problem when try to access CreateTokenRQ , the system reply me whit this error
AuthorizationException: errors.authorization.USG_AUTHORIZATION_FAILED
I use the seme parameter that use in SOAP api CreateSession..
This is sample log:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<MessageHeader d3p1:version="1.0" xmlns:d3p1="http://www.ebxml.org/namespaces/messageHeader" xmlns="http://www.ebxml.org/namespaces/messageHeader">
<d3p1:From>
<d3p1:PartyId>tnsfrom#tns.it</d3p1:PartyId>
</d3p1:From>
<d3p1:To>
<d3p1:PartyId>tnsto#tns.it</d3p1:PartyId>
</d3p1:To>
<d3p1:CPAId>9WDA</d3p1:CPAId>
<d3p1:ConversationId>PROFILE</d3p1:ConversationId>
<d3p1:Service>TokenCreateRQ</d3p1:Service>
<d3p1:Action>TokenCreateRQ</d3p1:Action>
<d3p1:MessageData>
<d3p1:MessageId>mid:20170131-180233-0067+01:007261#tns.it</d3p1:MessageId>
<d3p1:Timestamp>2017-01-31T17:02:33Z</d3p1:Timestamp>
</d3p1:MessageData>
</MessageHeader>
<Security xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext">
<UsernameToken>
<Username>USER</Username>
<Password>PASS</Password>
<Organization xmlns="">PCC</Organization>
<Domain xmlns="">DEFAULT</Domain>
</UsernameToken>
</Security>
</soap:Header>
<soap:Body>
<TokenCreateRQ Version="1.0" xmlns="http://webservices.sabre.com"/>
</soap:Body>
</soap:Envelope>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI">tnsto#tns.it</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">tnsfrom#tns.it</eb:PartyId>
</eb:To>
<eb:CPAId>9WDA</eb:CPAId>
<eb:ConversationId>PROFILE</eb:ConversationId>
<eb:Service eb:type="sabreXML">Session</eb:Service>
<eb:Action>TokenCreateRS</eb:Action>
<eb:MessageData>
<eb:MessageId>5872564613545250881</eb:MessageId>
<eb:Timestamp>2017-01-31T17:02:34</eb:Timestamp>
<eb:RefToMessageId>mid:20170131-180233-0067+01:007261#tns.it</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">T1RLAQLXzOPymarKW6vpSao+D9NVBvlbrBCF19eTo+4IS4u5yQxX3WI/AACwNl4HnFuLzWcfmUdC3MwzQfHXkHiyJUWVvYVGkM7BTH1Zk8QPN5gtUNaWLkghZY3W4zUgz77ECyxXU9sq0QC8wIRfEHyy0Wa4Gyu+F+21wVJNIwul7zAv4A0Nb+H+EhwvplAesYlVYLIsBl1G3V7sPYY6JYp8ndv468hKdzO/aR9EH19+mRxAZ5wcubk1RzQ+TSAA7ebVYg/dp9Ol8fpgzvzTkyOCnY3XuJzAdWkJLtI*</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<sws:TokenCreateRS xmlns:sws="http://webservices.sabre.com" Version="1.0.0">
<sws:Success/>
</sws:TokenCreateRS>
</soap-env:Body>
</soap-env:Envelope>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader">
<From>
<PartyId>tnsfrom#tns.it</PartyId>
</From>
<To>
<PartyId>tnsto#tns.it</PartyId>
</To>
<CPAId>9WDA</CPAId>
<ConversationId>PROFILE</ConversationId>
<Service>TravelItineraryRead</Service>
<Action>TravelItineraryReadRQ</Action>
<MessageData>
<MessageId>mid:20170131-175750-6558+01:007261#tns.it</MessageId>
<Timestamp>2017-01-31T16:57:50Z</Timestamp>
</MessageData>
</MessageHeader>
<Security xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext">
<BinarySecurityToken>T1RLAQJImqTy22oj2jew4n0kmkJNcubdhhCo94FnWiXB3eCaPy8XKW4LAACwQPhiertpCYnV0Pnmp59O10SK93/haq3stjgk6LKovw8hLLAtptGCQMtPxN/8NJVTkite1lqWHaSkOPZdFlr8C9CkRAcKpfiDnYeC9HEuSI3IyEH54ImqhM3PIH3eD5wLo9mcDdAObuzJNJoU/k435X/+H5khEW9syHBy01kE3L23/eW1k/qdfAodQy2DDuFh2JK2tCY/s5SfcbGt9UxMBKJnrR1FbT73D4QgQYRyuEU*</BinarySecurityToken>
</Security>
</soap:Header>
<soap:Body>
<TravelItineraryReadRQ Version="3.4.0" xmlns="http://webservices.sabre.com/sabreXML/2011/10">
<MessagingDetails>
<SubjectAreas>
<SubjectArea>FULL</SubjectArea>
</SubjectAreas>
</MessagingDetails>
<UniqueID ID="DMVNRR"/>
<ReturnOptions UnmaskCreditCard="true"/>
</TravelItineraryReadRQ>
</soap:Body>
</soap:Envelope>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI">tnsto#tns.it</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">tnsfrom#tns.it</eb:PartyId>
</eb:To>
<eb:CPAId>9WDA</eb:CPAId>
<eb:ConversationId>PROFILE</eb:ConversationId>
<eb:Service>TravelItineraryRead</eb:Service>
<eb:Action>ErrorRS</eb:Action>
<eb:MessageData>
<eb:MessageId>5839433610707910872</eb:MessageId>
<eb:Timestamp>2017-01-31T16:57:50</eb:Timestamp>
<eb:RefToMessageId>mid:20170131-175750-6558+01:007261#tns.it</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">T1RLAQJImqTy22oj2jew4n0kmkJNcubdhhCo94FnWiXB3eCaPy8XKW4LAACwQPhiertpCYnV0Pnmp59O10SK93/haq3stjgk6LKovw8hLLAtptGCQMtPxN/8NJVTkite1lqWHaSkOPZdFlr8C9CkRAcKpfiDnYeC9HEuSI3IyEH54ImqhM3PIH3eD5wLo9mcDdAObuzJNJoU/k435X/+H5khEW9syHBy01kE3L23/eW1k/qdfAodQy2DDuFh2JK2tCY/s5SfcbGt9UxMBKJnrR1FbT73D4QgQYRyuEU*</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<soap-env:Fault>
<faultcode>soap-env:Client.AuthorizationFailed</faultcode>
<faultstring>Authorization failed</faultstring>
<detail>
<StackTrace>com.sabre.universalservices.base.security.AuthorizationException: errors.authorization.USG_AUTHORIZATION_FAILED</StackTrace>
</detail>
</soap-env:Fault>
</soap-env:Body>
</soap-env:Envelope>
The TravelItineraryReadRQ service you are looking to consume is not yet enabled for Access Tokens. This for the moment is limited to SessionToken. This is specified in the Authentication header.
https://developer.sabre.com/docs/read/soap_apis/management/itinerary/Get_Itinerary

PNR Connector unknow, caused by [PNR not found, code: 500325, severity: MODERATE]

I am trying to generate PNR. For this purpose I used “EnhancedAirBookRQ” for Air Book “OTA_AirBookRQ”. I used BargainFinderMaxRQ for search then now I am using EnhancedAirBookRQ for Air book and Price Iternary. But I get the error like PNR Connector unknow, caused by [PNR not found, code: 500325, severity: MODERATE]
EnhancedAirBookRQ
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" SOAP-ENV:mustUnderstand="0">
<eb:From>
<eb:PartyId eb:type="urn:x12.org:IO5:01">localhost/sabre</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="urn:x12.org:IO5:01">sabre</eb:PartyId>
</eb:To>
<eb:CPAId>3W2D</eb:CPAId>
<eb:ConversationId>testingId</eb:ConversationId>
<eb:Service eb:type="sabreXML">EnhancedAirBookRQ</eb:Service>
<eb:Action>EnhancedAirBookRQ</eb:Action>
<eb:MessageData>
<eb:MessageId>1426190858</eb:MessageId>
<eb:Timestamp>2016-02-08T02:37:58-06:00</eb:Timestamp>
<eb:TimeToLive>2016-02-08T03:37:58-06:00</eb:TimeToLive>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken>Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3421544930368575840!319427!0</wsse:BinarySecurityToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<EnhancedAirBookRQ xmlns="http://services.sabre.com/sp/eab/v3_2" version="3.2.0" HaltOnError="true">
<OTA_AirBookRQ>
<HaltOnStatus Code="UC" />
<HaltOnStatus Code="LL" />
<HaltOnStatus Code="UL" />
<HaltOnStatus Code="UN" />
<HaltOnStatus Code="NO" />
<HaltOnStatus Code="HL" />
<OriginDestinationInformation>
<FlightSegment DepartureDateTime="2016-03-31T16:05:00" FlightNumber="216" NumberInParty="1" ResBookDesigCode="S" Status="NN">
<DestinationLocation LocationCode="DEL" />
<MarketingAirline Code="AI" FlightNumber="216" />
<OriginLocation LocationCode="KTM" />
</FlightSegment>
</OriginDestinationInformation>
</OTA_AirBookRQ>
<PostProcessing IgnoreAfter="true">
<RedisplayReservation/>
</PostProcessing>
<PreProcessing IgnoreBefore="false">
<UniqueID ID="JEGYLT" />
</PreProcessing>
</EnhancedAirBookRQ>
</SOAP-ENV:Body>
EnhancedAirBookRS
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="urn:x12.org:IO5:01">sabre</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="urn:x12.org:IO5:01">localhost/sabre</eb:PartyId>
</eb:To>
<eb:CPAId>3W2D</eb:CPAId>
<eb:ConversationId>testingId</eb:ConversationId>
<eb:Service eb:type="sabreXML">EnhancedAirBookRQ</eb:Service>
<eb:Action>EnhancedAirBookRS</eb:Action>
<eb:MessageData>
<eb:MessageId>13592644980251760</eb:MessageId>
<eb:Timestamp>2016-03-29T17:54:58</eb:Timestamp>
<eb:RefToMessageId>1426190858</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/ACPCRTD!ICESMSLB\/CRT.LB!-3421544930368575840!319427!0</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<EnhancedAirBookRS xmlns="http://services.sabre.com/sp/eab/v3_2">
<ApplicationResults xmlns="http://services.sabre.com/STL_Payload/v02_01" status="NotProcessed">
<Error type="Application" timeStamp="2016-03-29T12:54:58.415-05:00">
<SystemSpecificResults>
<Message code="ERR.SP.PROVIDER_ERROR">PNR Connector unknow, caused by [PNR not found, code: 500325, severity: MODERATE]</Message>
<Message code="700201">PNR Connector unknow, caused by [PNR not found, code: 500325, severity: MODERATE]</Message>
</SystemSpecificResults>
</Error>
</ApplicationResults>
</EnhancedAirBookRS>
</soap-env:Body>
</soap-env:Envelope>
If you send this:
<PreProcessing IgnoreBefore="false">
<UniqueID ID="JEGYLT" />
</PreProcessing>
Sabre will look for a PNR with that ID, before interpreting the rest of the content on your EnhancedAirBook request. Is that PNR an existing one?
If you are creating a PNR from scratch (meaning you want to book the specified flight/s in a new reservation) you don't need to specify a PNR Id in pre-processing (you can remove the whole PreProcessing element from the request).
Finally, sending <PostProcessing IgnoreAfter="true"> will ignore everything the service did after completed, so not sure what you are trying to accomplish there...

verify format error in HotelRateDescriptionRQ

i'm getting verify format error while searching hotel rate description using sabre soap api. my request is following:
<HotelRateDescriptionRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="2.3.0">
<AvailRequestSegment>
<GuestCounts Count="2"/>
<HotelSearchCriteria>
<Criterion>
<HotelRef HotelCode="0039013"/>
</Criterion>
</HotelSearchCriteria>
<TimeSpan End="04-04" Start="04-01"/>
</AvailRequestSegment>
</HotelRateDescriptionRQ>
and the response is following:
<?xml version="1.0" encoding="UTF-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><soap-env:Header><eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1"><eb:From><eb:PartyId eb:type="urn:x12.org:IO5:01">sws3-crt.cert.sabre.com</eb:PartyId></eb:From><eb:To><eb:PartyId eb:type="urn:x12.org:IO5:01">7973</eb:PartyId></eb:To><eb:CPAId>OH88</eb:CPAId><eb:ConversationId>y4JiO-0PTQn5fm5SRTPz-1459075755</eb:ConversationId><eb:Service eb:type="sabreXML"/><eb:Action>HotelRateDescriptionLLSRS</eb:Action><eb:MessageData><eb:MessageId>41ade332-41f5-4d1e-ad9a-c9b8d91a8817#176</eb:MessageId><eb:Timestamp>2016-03-27T10:50:32</eb:Timestamp></eb:MessageData></eb:MessageHeader><wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"><wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3422351642743054173!493550!0</wsse:BinarySecurityToken></wsse:Security></soap-env:Header><soap-env:Body><HotelRateDescriptionRS xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stl="http://services.sabre.com/STL/v01" Version="2.3.0">
<stl:ApplicationResults status="NotProcessed">
<stl:Error type="BusinessLogic" timeStamp="2016-03-27T05:50:32-05:00">
<stl:SystemSpecificResults>
<stl:Message>1VERIFY FORMAT </stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</HotelRateDescriptionRS></soap-env:Body></soap-env:Envelope>
so what am i doing wrong here?
look I can use HotelRateDescriptionLLSRQ using RPH atribute.
RPH atribute can be found by HotelPropertyDescriptionLLSRQ.
<soap-env:Body>
<ns:HotelRateDescriptionRQ ReturnHostCommand="false" Version="2.3.0">
<ns:AvailRequestSegment>
<ns:RatePlanCandidates>
<ns:RatePlanCandidate RPH="001" />
</ns:RatePlanCandidates>
</ns:AvailRequestSegment>
</ns:HotelRateDescriptionRQ>
</soap-env:Body>

Resources