XMLBeansを使用して自動生成されたAxis2コードを使用してWebサービスクライアントで作業しています。リクエストの送信は期待どおりに機能しますが、レスポンスを正常に解析できません。問題は、応答データがAxis2が探している要素に含まれていないことです。Axis2は要素内の結果を探しています。要素には、要素SendAndCommitResponse
へのhrefを持つ単一の要素が含まれていTransactionResult
ます。
参考までに、元のWSDLはここにあります。
返されるSOAPエンベロープの構造は次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns="http://secure2.e-xact.com/vplug-in/transaction/rpc-enc/" xmlns:types="http://secure2.e-xact.com/vplug-in/transaction/rpc-enc/encodedTypes">
<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<q1:SendAndCommitResponse xmlns:q1="http://secure2.e-xact.com/vplug-in/transaction/rpc-enc/Response">
<SendAndCommitResult href="#id1"/>
</q1:SendAndCommitResponse>
<types:TransactionResult xsi:type="types:TransactionResult" id="id1">
</types:TransactionResult>
</soap:Body>
</soap:Envelope>
解析しようとしている結果はTransactionResult
タグ内にありますが、Axis2は内のタグを探していますSendAndCommitResponse
。
私の質問は、結果を解析するときに、結果データの正しい要素へのhrefに従うようにAxis2クライアントに指示する方法はありますか?そうでない場合は、生成されたクライアントコードを手動で変更して、TransactionResult
直接確認できますか?