3

可能であれば、アプリケーションで Axis によって呼び出された/取得された未加工の XML 要求/応答を取得するにはどうすればよいですか?

Axis に含まれている WSDL2Java を使用して Java スタブを生成しています。

編集:

私が現在持っているのは、Axis を使用してリモート API 呼び出しを処理するアプリです。

要件の 1 つは、これらの呼び出しからのすべての XML 要求/応答をセッションに「格納」して、JSP で (デバッグ目的で) 使用できるようにすることです。どうすればこれを達成できますか?

カスタム ハンドラーを作成しようとしましたextends BasicHandlerが、そのハンドラーではまだHttpServletRequest/HttpServletResponseペアを取得できません。MessageContext

4

3 に答える 3

14

しばらくすると、次のように簡単に検索できます。

// _call.invoke(...) の後;

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

//Response
String response = _call.getMessageContext().getResponseMessage().getSOAPPart().getEnvelope().getBody().toString();

ここで、_call は org.apache.axis.client.Call です

次に、必要なファイルに保存できます...

于 2013-01-30T12:21:24.173 に答える
0

サーバー側の SOAP ハンドラーを作成して、MessageContext を取得してみませんか。そこからペイロードを取得する方法があると思います。ダウンストリームに渡したい場合は、スレッドローカルに配置してください。ここでハンドラーの例を参照してください

于 2011-04-27T20:12:37.420 に答える
-1

私はこの質問で説明されている解決策を使用することになります

基本的に、これを使用してHttpServletRequestを取得し、そこからセッションに適切なアイテムを設定します。

于 2011-04-28T20:27:11.753 に答える