Does SOAP service OTA_AirLowFareSearchRQ support DirectFlightsOnly="true" flag? - sabre

Calling SOAP service OTA_AirLowFareSearchRQ works Ok but it seems that ignores the DirectFlightsOnly flag (DirectFlightsOnly="true").
Sabre service answer flights with more than one flight segment.
Here is the request:
<SOAP-ENV:Envelope xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Header>
<eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0">
<eb:From>
<eb:PartyId>Client</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId>SWS</eb:PartyId>
</eb:To>
<eb:CPAId>IPCC</eb:CPAId>
<eb:ConversationId>8989</eb:ConversationId>
<eb:Service>Session</eb:Service>
<eb:Action>BargainFinderMaxRQ</eb:Action>
<eb:MessageData>
<eb:MessageId>1</eb:MessageId>
<eb:Timestamp>2017-07-06T13:35:44-05:00</eb:Timestamp>
</eb:MessageData>
</eb: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>My Session Id</wsse:BinarySecurityToken>
</wsse:Security>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<OTA_AirLowFareSearchRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" DirectFlightsOnly="true" ResponseType="OTA" ResponseVersion="3.0.0" Target="Test" Version="3.0.0">
<POS>
<Source PseudoCityCode="PCC">
<RequestorID ID="1" Type="1">
<CompanyName Code="TN"/>
</RequestorID>
</Source>
</POS>
<OriginDestinationInformation RPH="1">
<DepartureDateTime>2017-09-09T11:00:00</DepartureDateTime>
<OriginLocation LocationCode="MVD"/>
<DestinationLocation LocationCode="EZE"/>
<TPA_Extensions>
<SegmentType Code="O"/>
</TPA_Extensions>
</OriginDestinationInformation>
<TravelPreferences ValidInterlineTicket="true">
<CabinPref Cabin="Y" PreferLevel="Preferred"/>
<TPA_Extensions>
<TripType Value="Return"/>
<LongConnectTime Enable="true" Max="1200" Min="780"/>
<ExcludeCallDirectCarriers Enabled="true"/>
</TPA_Extensions>
</TravelPreferences>
<TravelerInfoSummary>
<SeatsRequested>1</SeatsRequested>
<AirTravelerAvail>
<PassengerTypeQuantity Code="ADT" Quantity="1"/>
</AirTravelerAvail>
</TravelerInfoSummary>
<TPA_Extensions>
<IntelliSellTransaction>
<RequestType Name="50ITINS"/>
</IntelliSellTransaction>
</TPA_Extensions>
</OTA_AirLowFareSearchRQ>
</SOAP-ENV:Body>
This is part of the answer (as you can see there are two [FlightSegmen]> nodes):
<AirItinerary DirectionInd="Return">
<OriginDestinationOptions>
<OriginDestinationOption ElapsedTime="1364">
<FlightSegment ArrivalDateTime="2017-09-09T09:15:00" DepartureDateTime="2017-09-09T06:16:00" ElapsedTime="299" FlightNumber="904" ResBookDesigCode="L" StopQuantity="0">
<DepartureAirport LocationCode="MVD"/>
<ArrivalAirport LocationCode="LIM"/>
<OperatingAirline Code="AV" CompanyShortName="/TRANS AMERICAN AIRLINES" FlightNumber="904"/>
<Equipment AirEquipType="319"/>
<MarketingAirline Code="AV"/>
<MarriageGrp>O</MarriageGrp>
<DepartureTimeZone GMTOffset="-3"/>
<ArrivalTimeZone GMTOffset="-5"/>
<TPA_Extensions>
<eTicket Ind="true"/>
</TPA_Extensions>
</FlightSegment>
<FlightSegment ArrivalDateTime="2017-09-10T05:00:00" DepartureDateTime="2017-09-09T22:50:00" ElapsedTime="250" FlightNumber="1365" ResBookDesigCode="Y" StopQuantity="0">
<DepartureAirport LocationCode="LIM"/>
<ArrivalAirport LocationCode="EZE" TerminalID="A"/>
<OperatingAirline Code="AR" FlightNumber="1365"/>
<Equipment AirEquipType="738"/>
<MarketingAirline Code="AR"/>
<MarriageGrp>O</MarriageGrp>
<DepartureTimeZone GMTOffset="-5"/>
<ArrivalTimeZone GMTOffset="-3"/>
<TPA_Extensions>
<eTicket Ind="true"/>
</TPA_Extensions>
</FlightSegment>
</OriginDestinationOption>
</OriginDestinationOptions>
</AirItinerary>

If that element doesn't work, go for maxnumstops or numberofconnections. Set it in 0, that will do the job.

Related

com.sabre.universalservices.base.security.AuthenticationException: errors.authentication.USG_AUTHENTICATION_NOT_ALLOWED

I am checking the Sabre API's in SoapUI. Taken ref. for SoapUI from https://github.com/SabreDevStudio/SabreAPIsWorkflows.
When I am trying to run a test-step in SoapUI, I am getting the response with error as :
AuthenticationException: errors.authentication.USG_AUTHENTICATION_NOT_ALLOWED.
request payload :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:sec="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:mes="http://www.ebxml.org/namespaces/messageHeader" xmlns:ns="http://www.opentravel.org/OTA/2003/05">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/12/utility">
<wsse:UsernameToken>
<wsse:Username>${#Project#Username}</wsse:Username>
<wsse:Password>${#Project#Password}</wsse:Password>
<Organization>${#Project#Organization}</Organization>
<Domain>DEFAULT</Domain>
</wsse:UsernameToken>
</wsse:Security>
<mes:MessageHeader mes:id="?" mes:version="?">
<mes:From>
<mes:PartyId mes:type="?">1212</mes:PartyId>
</mes:From>
<mes:To>
<mes:PartyId mes:type="?">2323</mes:PartyId>
</mes:To>
<mes:CPAId>${#Project#Organization}</mes:CPAId>
<mes:ConversationId>${#Project#ConversationID}</mes:ConversationId>
<mes:Service mes:type="Sabre">BargainFinderMaxRQ</mes:Service>
<mes:Action>BargainFinderMaxRQ</mes:Action>
<mes:MessageData>
<mes:MessageId>1001</mes:MessageId>
<mes:Timestamp>2012-06-07T10:00:01</mes:Timestamp>
<mes:TimeToLive>2013-06-06T23:59:59</mes:TimeToLive>
</mes:MessageData>
</mes:MessageHeader>
</soapenv:Header>
<soapenv:Body>
<OTA_AirLowFareSearchRQ Target="Production" Version="1.9.2" ResponseType="OTA" ResponseVersion="1.9.2" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<POS>
<!--Source PseudoCityCode="PCC"-->
<Source PseudoCityCode="${#Project#Organization}">
<RequestorID ID="1" Type="1">
<CompanyName Code="TN">TN</CompanyName>
</RequestorID>
</Source>
</POS>
<OriginDestinationInformation>
<DepartureDateTime>${#TestCase#OutboundDepartureDateTime}</DepartureDateTime>
<DepartureWindow>02002000</DepartureWindow>
<OriginLocation LocationCode="${#Project#ItineraryOrigin}" />
<DestinationLocation LocationCode="${#Project#ItineraryDestination}" />
<TPA_Extensions>
<SegmentType Code="O" />
</TPA_Extensions>
</OriginDestinationInformation>
<OriginDestinationInformation>
<DepartureDateTime>${#TestCase#ReturnDepartureDateTime}</DepartureDateTime>
<DepartureWindow>04002200</DepartureWindow>
<OriginLocation LocationCode="${#Project#ItineraryDestination}" />
<DestinationLocation LocationCode="${#Project#ItineraryOrigin}" />
<TPA_Extensions>
<SegmentType Code="O" />
</TPA_Extensions>
</OriginDestinationInformation>
<TravelPreferences>
<FlightTypePref MaxConnections="2" PreferLevel="Only" />
<ns:FareRestrictPref PreferLevel="Only">
<ns:AdvResTicketing AdvResInd="false" AdvTicketingInd="false" />
<ns:StayRestrictions StayRestrictionsInd="false" />
<ns:VoluntaryChanges VolChangeInd="false" />
</ns:FareRestrictPref>
<CabinPref Cabin="Y" PreferLevel="Only" />
<TPA_Extensions>
<TripType Value="Return" />
</TPA_Extensions>
</TravelPreferences>
<TravelerInfoSummary>
<SeatsRequested>1</SeatsRequested>
<AirTravelerAvail>
<PassengerTypeQuantity Code="ADT" Quantity="1" />
</AirTravelerAvail>
</TravelerInfoSummary>
<TPA_Extensions>
<IntelliSellTransaction>
<RequestType Name="50ITINS" />
</IntelliSellTransaction>
</TPA_Extensions>
</OTA_AirLowFareSearchRQ>
</soapenv:Body>
</soapenv:Envelope>
response received:
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader eb:version="1.0" soap-env:mustUnderstand="1" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader">
<eb:From>
<eb:PartyId eb:type="?">2323</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="?">1212</eb:PartyId>
</eb:To>
<eb:CPAId>****</eb:CPAId>
<eb:ConversationId>SWS-Test-****</eb:ConversationId>
<eb:Service eb:type="Sabre">BargainFinderMaxRQ</eb:Service>
<eb:Action>ErrorRS</eb:Action>
<eb:MessageData>
<eb:MessageId>607896186247240150</eb:MessageId>
<eb:Timestamp>2018-09-19T05:10:24</eb:Timestamp>
<eb:RefToMessageId>1001</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"/>
</soap-env:Header>
<soap-env:Body>
<soap-env:Fault>
<faultcode>soap-env:Client.AuthenticationNotAllowed</faultcode>
<faultstring>Authentication is not allowed for this service. Please use SessionCreateRQ</faultstring>
<detail>
<StackTrace>com.sabre.universalservices.base.security.AuthenticationException: errors.authentication.USG_AUTHENTICATION_NOT_ALLOWED</StackTrace>
</detail>
</soap-env:Fault>
</soap-env:Body>
</soap-env:Envelope
Can anyone help in this?
This is happening because instead of using a Binary Security Token, your request is sending user, passcode, etc. That data should be sent first with SessionCreateRQ which will return a BST, then you use the token in the subsequent BargainFinderMaxRQ call. Your "Security" node should look like so:
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/12/utility">
<wsse:BinarySecurityToken>{{token}}</wsse:BinarySecurityToken>
</wsse:Security>

BargainFinderMaxRQ Alternate Days Response No Availability Error

I am trying to get results from BargainFinderMaxRQ for Alternate Days, like in plus 3 days or minus 3 days. It always shows No Availability error in response. By the way, the simple request works perfectly. Please, can anyone help?
API Request:
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
</SOAP-ENV:Header><SOAP-ENV:Body><OTA_AirLowFareSearchRQ xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Target="Production" Version="4.2.0" ResponseType="OTA" ResponseVersion="4.2.0">
<POS>
<Source PseudoCityCode="8YXD">
<RequestorID ID="1" Type="1">
<CompanyName Code="TN" />
</RequestorID>
</Source>
</POS>
<OriginDestinationInformation RPH="1">
<DepartureDateTime>2018-08-23T00:00:00</DepartureDateTime>
<OriginLocation LocationCode="DXB" />
<DestinationLocation LocationCode="KHI" />
<TPA_Extensions>
<DateFlexibility NbrOfDays="2"/>
<SegmentType Code="O" />
</TPA_Extensions>
</OriginDestinationInformation>
<OriginDestinationInformation RPH="2">
<DepartureDateTime>2018-08-30T00:00:00</DepartureDateTime>
<OriginLocation LocationCode="KHI" />
<DestinationLocation LocationCode="DXB" />
<TPA_Extensions>
<DateFlexibility NbrOfDays="2"/>
<SegmentType Code="O" />
</TPA_Extensions>
</OriginDestinationInformation>
<TravelPreferences ValidInterlineTicket="true" MaxStopsQuantity="0">
<CabinPref PreferLevel="Preferred" Cabin="Y" />
<TPA_Extensions>
<TripType Value="Return" />
<LongConnectTime Min="780" Max="1200" Enable="true"/>
<ExcludeCallDirectCarriers Enabled="true"/>
</TPA_Extensions>
</TravelPreferences>
<TravelerInfoSummary>
<SeatsRequested>1</SeatsRequested>
<AirTravelerAvail>
<PassengerTypeQuantity Code="ADT" Quantity="1" />
</AirTravelerAvail>
<PriceRequestInformation CurrencyCode="PKR" >
<TPA_Extensions>
</TPA_Extensions>
</PriceRequestInformation>
</TravelerInfoSummary>
<TPA_Extensions>
<IntelliSellTransaction Debug="0">
<RequestType Name="ALTDATES"/>
</IntelliSellTransaction>
</TPA_Extensions>
</OTA_AirLowFareSearchRQ></SOAP-ENV:Body></SOAP-ENV:Envelope>
This needs to be activated by the account manager as Thomas mentioned.
PLEASE MAKE THREE CHANGES AND IT WILL WORK PERFECTLY
1) SET ACTION NAME AS BargainFinderMax_ADRQ
<eb:Service eb:type="OTA">BargainFinderMax_ADRQ</eb:Service>
<eb:Action>BargainFinderMax_ADRQ</eb:Action>
2) SET NUMBER OF DAYS FOR FLEXIBILITY
<DateFlexibility NbrOfDays="1"/> OR
<DateFlexibility NbrOfDays="3"/> OR
<DateFlexibility NbrOfDays="7"/>
3) SET REQUEST TYPE NAME
<RequestType Name="AD1"/> OR
<RequestType Name="AD3"/> OR
<RequestType Name="AD7"/>

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>

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...

Resources