ロギングのために、SOAP リクエストと SOAP レスポンスのコンテンツを取得する必要があります。一般的に、私には2つの選択肢があります:
Axis API (BasicHandler) の一部を拡張し、すべてをログに記録するインターセプターを作成します。
または、「手動で」ログを記録することもできます。つまり、クライアントとしてのみ Axis のユーティリティを使用して、拡張はしません。
理由により、プロジェクトのアプローチは、ロギングを手動で実装することを私に示しています。これまでのところ、次のような SOAP 応答を取得できました。
private void getSOAPasString(Call call) {
try {
MessageContext context = call.getMessageContext();
SOAPMessage message = context.getMessage();
// Create transformer
TransformerFactory tff = TransformerFactory.newInstance();
Transformer tf;
tf = tff.newTransformer();
// Get reply content
Source sc = message.getSOAPPart().getContent();
// Set output transformation
StreamResult result = new StreamResult(System.out);
tf.transform(sc, result);
System.out.println(result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println();
}
しかし、リクエスト メッセージを取得できませんでした。それを手伝ってもらえますか? Request SOAP メッセージを取得することは可能ですか? どのように?