Axis 1クライアントでAxis 1 Webサービスを使用しています。すべてが非常にうまく動作しており、Webサービスから取得しているデータは正しいです。 Axis 2を使用するためにWebサービスを移動する必要があります。Axis 1クライアントでデータを取得する際に問題があります。 SOAPUIを使用して、私が得ている応答の形式を見てきました。軸1 WebサービスとAxis 2 Webサービスとの互換性のないAxis 1クライアント
、応答は以下の通りであった:
<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>
<getInventoryResponse xmlns="http://webservices.com">
<getInventory>
<errorCode>10071</errorCode>
<inventory xsi:nil="true"/>
</getLastInventoryCountReturn>
</getInventoryResponse>
</soapenv:Body>
</soapenv:Envelope>
軸2のWebサービスでは、次のように、応答は次のとおりです。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns:getInventoryResponse xmlns:ns="http://webservices.com">
<ns:return xsi:type="ax21:Inventory" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ax21="http://model.com/xsd">
<ax21:errorCode>10071</ax21:errorCode>
<ax21:inventory xsi:nil="true"/>
</ns:return>
</ns:getInventoryResponse>
</soapenv:Body>
</soapenv:Envelope>
あなたが見ることができるように、 "errorCode"という要素の値は10071です。私は両方のWebサービスから正しくクライアントのerrorCode値を受け取ります。しかし、私は応答の一部として受け取る "インベントリ"と呼ばれる複雑な型を持っています(Webサービス上の適切なデータを埋めるために時間がかかりますので、上記の回答には表示されません)。 InventoryItemには、さまざまなデータ型(String、Calendar)のフィールドが含まれています。 Axis 2 Webサービスからの応答には<axs21>
xmlタグが含まれていますが、Axis 1 Webサービスではそこには存在しません。だから私はクライアント側でAxis 2 Webサービスからの応答を解析する問題があると仮定しています。
どのように私はこれを解決することができます知っていますか?
Axis2で生成されたwsdlとの非互換性は何ですか? Axis2はデフォルトでdoc/lit type wsdlを生成します。これはどんな石鹸のフレーム作業でも動作するはずです。 –
問題をより詳しく説明するために投稿を編集しました。それを確認して、何を考えているか教えてください。 –
私は何を意味しますか?**私は問題があると仮定しますか?それは問題になる可能性が高いようですが、あなたはテストしていませんか? –