Sabre OTA_AirBook肥皂请求

时间:2015-07-31 04:08:48

标签: soap soapui 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 个答案:

答案 0 :(得分:0)

当电路板无效时,或者没有指示具有多个停靠点的航班的电路板时,会发生此响应。 您似乎还在请求中有多个不同的航班号。是否有不同的营销和运营航班号。检查......

答案 1 :(得分:0)

我希望你也必须运行OTA_AIRPrice服务。因为在OTA中,在运行预订服务之前必须为行程定价。

最好运行增强型航空服务,这是空运价格和航空预订的结合。这也可以节省您点击Web服务的成本。

答案 2 :(得分:0)

尝试添加&#34; ArrivalDateTime &#34;也可以在&strong 34; DepartureDateTime &#34;之后的 FlightSegment 中,这可能适合您。

答案 3 :(得分:0)

我今天在呼叫运营航空公司和营销航空公司不同的细分市场的增强型航空预订时遇到了此错误。我花了一段时间才弄清楚发生了什么。

我的问题是,在讨价还价器的最大响应中,我总是从OperatingAirline元素中提取航班号。但是,您传递给增强型Airbook的航班号必须是FlightSegment元素中属性的FlightNumber。