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