0

有一个以前工作的 Java Web 服务上周突然中断了。

请求的版本一直没有更新,它是 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>
4

1 回答 1

0

这是轴 1 问题,您可以升级到轴 2 或执行以下修改:

应改为:

CommonHTTPSender 是 HTTPSender 的改进版本。

希望这些信息对您有所帮助。

于 2014-10-01T16:23:32.460 回答