2010-11-25 10 views
0

プロジェクトでは、何年も存在していて変更できないWebサービスを呼び出す必要があります。このWebサービスにはバグが含まれています:SOAPリクエストに対する応答を送信するときに、レスポンスにS:Envelope >と< S:Body >要素が必ず含まれているとは限りません。解析する前にJAX-WSクライアントで着信するWebサービスの応答を変更するにはどうすればよいですか?

JAX-WS SOAPパーサーが解析する前に、メッセージを傍受して欠落部分を挿入するにはどうすればよいですか?

答えて

0

私は、この質問がまだ答えなしで開いていることを知ったので、問題がどのように解決されたかについていくつかの洞察を提供します。

JAX-WSでは、このようなことを行うためのサポートはありません。実装の詳細を調べてそこにフックを追加することはおそらく可能ですが、あなたのソリューションは他のWebサービスコンテナ実装に移植することができなくなります。

最後の解決策は、Commons HTTP Clientに切り替えてメッセージを送信し、応答を受け取ることでした。メッセージ自体は、プレーンJAXBを使用して作成され、解析されました。 SOAPヘッダーは手動で追加および削除されました。

関連する問題