2014-09-23 4 views
0

Имейте веб-службу Java, которая работала ранее и внезапно на прошлой неделе сломалась.Вызов Sabre SOAP, возвращающий пустую строку

Версия запроса не была обновлена ​​навсегда, она находится на версии 1.2.7, а текущая версия - 1.7.5, поэтому я не уверен, что это проблема. Я отлаживал код, а заголовки HTTP, createSessionRQ и все остальное работает нормально, но вызовы Bargain Finder Max в конечном итоге бросают исключение SAXException при анализе, java.io.IOException: '' For input string: "". Это происходит, как только я пытаюсь разобрать входящее сообщение на первом проходе. Все остальные ответы обрабатываются отлично. И код синтаксического анализа - все из библиотеки apache axis 1. Пример XML приведен ниже. Опять же, это работало до прошлой недели.

<?xml version="1.0" encoding="UTF-8"?><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/2001/XMLSchema"> 
    <SOAP-ENV:Header> 
     <eb:MessageHeader SOAP-ENV:mustUnderstand="1" eb:version="1.0"> 
     <eb:From> 
     <eb:PartyId type="urn:x12.org:IO5:01">company</eb:PartyId> 
     </eb:From> 
     <eb:To> 
     <eb:PartyId type="urn:x12.org:IO5:01">webservices.sabre.com</eb:PartyId> 
     </eb:To> 
     <eb:CPAId>0WPB</eb:CPAId> 
     <eb:ConversationId>convoid</eb:ConversationId> 
     <eb:Service eb:type="OTA">Air Shopping Service</eb:Service> 
     <eb:Action>BargainFinderMaxRQ</eb:Action> 
     <eb:MessageData> 
     <eb:MessageId>mid:0_2014-09-22T21:43:40m</eb:MessageId> 
     <eb:Timestamp>2014-09-22T21:43:40</eb:Timestamp> 
     <eb:TimeToLive>2014-09-22T21:43:40</eb:TimeToLive> 
     </eb:MessageData> 
     <eb:DuplicateElimination/> 
     <eb:Description>Bargain Finder Max Service</eb:Description> 
     </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>tokenhere</wsse:BinarySecurityToken> 
     </wsse:Security> 
    </SOAP-ENV:Header> 
    <SOAP-ENV:Body> 
     <ns1:OTA_AirLowFareSearchRQ Version="1.2.7" xmlns:ns1="http://www.opentravel.org/OTA/2003/05"> 
      <ns1:POS> 
      <ns1:Source PseudoCityCode="0WPB"> 
      <ns1:RequestorID ID="1" Type="1"> 
     <n 

s1:CompanyName Code="TN">TN</ns1:CompanyName> 

</ns1:RequestorID> 

</ns1:Source> 

</ns1:POS> 

     <ns1:OriginDestinationInformation RPH="1"> 
    <ns1:DepartureDateTime>2014-10-31T00:00:00</ns1:DepartureDateTime> 

    <ns1:OriginLocation LocationCode="BWI"/> 

    <ns1:DestinationLocation LocationCode="MBJ"/> 

     <ns1:TPA_Extensions> 
    <ns1:SegmentType Code="O"/> 

</ns1:TPA_Extensions> 

</ns1:OriginDestinationInformation> 

     <ns1:OriginDestinationInformation RPH="2"> 
    <ns1:DepartureDateTime>2014-11-03T00:00:00</ns1:DepartureDateTime> 

    <ns1:OriginLocation LocationCode="MBJ"/> 

    <ns1:DestinationLocation LocationCode="BWI"/> 

     <ns1:TPA_Extensions> 
    <ns1:SegmentType Code="O"/> 

</ns1:TPA_Extensions> 

</ns1:OriginDestinationInformation> 

     <ns1:TravelPreferences> 
    <ns1:CabinPref Cabin="Y" PreferLevel="Preferred"/> 

     <ns1:TPA_Extensions> 
    <ns1:TripType Value="Return"/> 

</ns1:TPA_Extensions> 

</ns1:TravelPreferences> 

     <ns1:TravelerInfoSummary> 
    <ns1:SeatsRequested>1</ns1:SeatsRequested> 

    <ns1:AirTravelerAvail> 
    <ns1:PassengerTypeQuantity Code="ADT" Quantity="2"/> 



</ns1:AirTravelerAvail> 

</ns1:TravelerInfoSummary> 

     <ns1:TPA_Extensions> 
     <ns1:IntelliSellTransaction> 
    <ns1:RequestType Name="50ITINS"/> 

</ns1:IntelliSellTransaction> 

</ns1:TPA_Extensions> 

</ns1:OTA_AirLowFareSearchRQ> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

ответ

0

Это ось 1 вопрос, вы можете либо перейти на оси 2 или выполните приведенную ниже модификацию:

должен быть изменен на:

CommonHTTPsender является улучшенной версией HTTPSender.

Надеюсь, что эта информация полезна.

+0

Это было. изменение client-configuration.wdll в axis.jar для использования метода транспорта CommonsHTTPSender. Также необходимо было включить необходимые банки, чтобы заставить его работать с этим. – czobrisky

Смежные вопросы