получение ошибки для API OTA_AirRulesRQ - PullRequest
0 голосов
/ 29 октября 2018

получение ошибки для API OTA_AirRulesRQ. Запрос создан:

<OTA_AirRulesRQ ReturnHostCommand="true" Version="2.3.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="17-12">
      <DestinationLocation LocationCode="MAA" />
      <MarketingCarrier Code="AI" />
      <OriginLocation LocationCode="BLR" />
    </FlightSegment>
  </OriginDestinationInformation>
  <RuleReqInfo>
    <FareBasis Code="Y" />
  </RuleReqInfo>
</OTA_AirRulesRQ>

В ответ получаем ошибку как:

<faultstring>Unable to create envelope from given source: com.sun.xml.messaging.saaj.soap.dom4j.ElementImpl cannot be cast to com.sabre.universalservices.saaj.soap.Envelope</faultstring>

На портале Sabre Dev не найдены теги конверта и заголовков сообщений для этого запроса API. Может кто-нибудь, пожалуйста, помогите в этом. Если кто-то сделал это успешно.

Ответы [ 2 ]

0 голосов
/ 06 ноября 2018

Вы пытались добавить следующее как конверт?

    <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">1212</eb:PartyId>
         </eb:From>
         <eb:To>
            <eb:PartyId type="urn:x12.org:IO5:01">2323</eb:PartyId>
         </eb:To>
         <eb:CPAId>XXXX</eb:CPAId>
         <eb:ConversationId>SWS-Test-XXXX</eb:ConversationId>
         <eb:Service eb:type="OTA">EnhancedSeatMapRQ</eb:Service>
         <eb:Action>EnhancedSeatMapRQ</eb:Action>
         <eb:MessageData>
            <eb:MessageId>1001</eb:MessageId>
            <eb:Timestamp>2016-06-07T10:00:01</eb:Timestamp>
            <eb:TimeToLive>2017-06-06T23:59:59</eb:TimeToLive>
         </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">XXX</wsse:BinarySecurityToken>
      </wsse:Security>
   </SOAP-ENV:Header>
   <SOAP-ENV:Body>
...
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
0 голосов
/ 30 октября 2018

Я полагаю, у вас правильная структура конверта. Проблема с вашим запросом заключается в том, что вы используете код класса бронирования, а не код тарифа. Код FareBasis здесь "V2SPOWNP":

<FareBasis Cabin="Y" Code="**V2SPOWNP**" FareAmount="43.41".........."

В вашем случае все будет иначе.

Измените его и попробуйте.

...