0

Sabre の OTA_AirBook の SOAP リクエストに問題があります。SessionRequestRQ を使用してバイナリ セキュリティ コードを取得できます。

これは私の要求です

<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">
  <SOAP-ENV:Header>
    <eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="2.0">
      <eb:From>
        <eb:PartyId type="urn:x12.org:IO5:01">webservices.sabre.com</eb:PartyId>
      </eb:From>
      <eb:To>
        <eb:PartyId type="urn:x12.org:IO5:01">DEFAULT</eb:PartyId>
      </eb:To>
      <eb:CPAId>XXXX</eb:CPAId>
      <eb:ConversationId>possetrips-1438312976</eb:ConversationId>
      <eb:Service eb:type="OTA">OTA_AirBookLLSRQ</eb:Service>
      <eb:Action>OTA_AirBookLLSRQ</eb:Action>
      <eb:MessageData>
        <eb:MessageId>mid:20150731-105346@DEFAULT</eb:MessageId>
        <eb:Timestamp>2015-07-31T03:54: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 valueType="String" EncodingType="wsse:Base64Binary">Shared/IDL:IceSess\\/SessMgr:1\\.0.IDL/Common/!ICESMS\\/ACPCRTC!ICESMSLB\\/CRT.LB!-3507395987210104192!32122!0</wsse:BinarySecurityToken>
    </wsse:Security>
  </SOAP-ENV:Header>
  <SOAP-ENV:Body>
    <OTA_AirBookRQ Version="2.0.0" 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">
      <OriginDestinationInformation>
        <FlightSegment DepartureDateTime="2015-08-10T06:00:00" FlightNumber="1887" NumberInParty="1" Status="NN" ResBookDesigCode="W">
          <DestinationLocation LocationCode="JFK"/>
          <MarketingAirline Code="B6" FlightNumber="1184"/>
          <OriginLocation LocationCode="MCO"/>
        </FlightSegment>
      </OriginDestinationInformation>
    </OTA_AirBookRQ>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

そして、このリクエストに対するレスポンスは

<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="URI">DEFAULT</eb:PartyId>
      </eb:From>
      <eb:To>
        <eb:PartyId eb:type="URI">webservices.sabre.com</eb:PartyId>
      </eb:To>
      <eb:CPAId>XXXX</eb:CPAId>
      <eb:ConversationId>possetrips-1438312976</eb:ConversationId>
      <eb:Service eb:type="OTA">OTA_AirBookLLSRQ</eb:Service>
      <eb:Action>OTA_AirBookLLSRS</eb:Action>
      <eb:MessageData>
        <eb:MessageId>c1b7737a-e817-4c33-b418-f4b8a605f2cd@176</eb:MessageId>
        <eb:Timestamp>2015-07-31T03:54:41</eb:Timestamp>
        <eb:RefToMessageId>mid:20150731-105346@DEFAULT</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\/ACPCRTC!ICESMSLB\/CRT.LB!-3507395987210104192!32122!0</wsse:BinarySecurityToken>
    </wsse:Security>
  </soap-env:Header>
  <soap-env:Body>
    <OTA_AirBookRS Version="2.0.0" 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">
      <stl:ApplicationResults status="NotProcessed">
        <stl:Error type="BusinessLogic" timeStamp="2015-07-30T22:54:41-05:00">
          <stl:SystemSpecificResults>
            <stl:Message code="0100">INVALID BOARD POINT</stl:Message>
            <stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
          </stl:SystemSpecificResults>
        </stl:Error>
      </stl:ApplicationResults>
    </OTA_AirBookRS>
  </soap-env:Body>
</soap-env:Envelope>

リクエストに何か問題がありましたか? または私はいくつかの設定を逃した?

エンドポイントにhttps://sws3-crt.cert.sabre.comを使用します

4

5 に答える 5

0

" DepartureDateTime " の後にFlightSegmentにも" ArrivalDateTime "を追加してみてください。これでうまくいくかもしれません。

于 2016-09-01T10:44:48.003 に答える
0

OTA_AIRPrice サービスも実行しているはずです。OTA では、予約サービスを実行する前に旅程の価格設定が義務付けられているためです。

エアプライスとエアブックの両方を組み合わせたエンハンスエアブックサービスを運用するのがベターです。これにより、Web サービスにアクセスするコストも節約できます。

于 2015-10-20T11:30:05.880 に答える
0

この応答は、ボードポイントが無効な場合、または複数のストップがあるフライトに指定されたボードポイントがない場合に発生します。また、リクエストには複数の異なるフライト番号があるようです。別のマーケティングおよび運航便番号はありますか。それを確認します...

于 2015-08-01T22:51:44.660 に答える