Имейте веб-службу 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>
Это было. изменение client-configuration.wdll в axis.jar для использования метода транспорта CommonsHTTPSender. Также необходимо было включить необходимые банки, чтобы заставить его работать с этим. – czobrisky