2009-10-20 20 views
6

これはおそらく、Apache Axisを使用したWebサービスに関するあらゆる専門知識を持つ人にとっては簡単な質問です。Axis 1.4 wsdl2java生成クライアントを使用してSOAPメッセージを取得する方法

Axis 1.4でwsdl2javaによって生成されたWebサービスクライアントがあります。私は実際のSOAPメッセージ自体にアクセスする必要がある単体テストを書いており、Axisによって生成されたクライアント側のJavaクラスとの比較を行います。 (質問しないでください)

サービスからの応答から実際のSOAPメッセージを取得するにはどうすればよいですか?

私が検索して収集できることは、MessageContextを取得する必要があることです。 私はこれらの行に沿って何かを試しました...

MessageContext mc = MessageContext.getCurrentContext(); 文字列メッセージ= mc.getCurrentMessage()。getSOAPPartAsString();

しかし、MCが、この場合にはnullです....

すべてのヘルプは歓迎です!

答えて

5

これは完了です。 _callオブジェクトは、以下の行を呼び出す満たされ

http://users.skynet.be/pascalbotte/rcx-ws-doc/jaxrpchandler.htm

+1

回答を拡大してください。将来的に可能性のあるリンクの腐敗に加えて(6年前)、リンクのページには多くのコードが含まれており、「完了した方法」はすぐにわかりません。関連するコードスニペット(コード全体ではありません)で簡単にまとめてみると、非常に役立ちます! – ADTC

+1

ええ、私はその権利を得るでしょう! – rshepherd

3

それを与えます。

String request=_call.getMessageContext().getRequestMessage() .getSOAPPart().getEnvelope().toString();

応答のために1

_call.getMessageContext().getResponseMessage() .getSOAPPart().getEnvelope().toString()

Callの下に使用し、あなたが知っているようorg.apache.axis.client.Callです。

関連する問題