Webサービスに問題があります。IBMとAxis 1.4 Webサービスの互換性
IBM Webサービスのスタックを使用して、WebSphereアプリケーションサーバーで長時間実行され実行されていたWebサービスがありました。今私はそれをglassfish v2.1.1にAxis 1.4スタックに移行しました。 WebサービスのWSDLがクライアントの互換性を維持するために変更されていない
ブール型の戻り値を持つWebサービスメソッドがあります。
例:
のWebSphere:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<checkPendingOperationsResponse xmlns="http://operations.appserver.dealer.omnitel.lt">
<checkPendingOperationsReturn xsi:type="xsd:boolean" xmlns="">0</checkPendingOperationsReturn>
</checkPendingOperationsResponse>
</soapenv:Body>
</soapenv:Envelope>
Glassfishの:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:checkPendingOperationsResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://operations.appserver.dealer.omnitel.lt">
<checkPendingOperationsReturn href="#id0"/>
</ns1:checkPendingOperationsResponse>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:boolean" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">false</multiRef>
</soapenv:Body>
</soapenv:Envelope>
問題は、一部のクライアントがあるということです、私は私の方法石鹸応答はGlassFishの中に異なる返し呼び出すときに問題があります以前に返された値が "1"、 "0"だったので、 "false"、 "true"の値を扱うことはできません。
解決できない解決策はありますか?
ありがとうございます。
Axis 1.xは貧弱なWebサービススタックであり、多くの場合、ただ破損しています。移行する場合は、より現代的なものに移行します。 – skaffman