0

クライアント側のハンドラーを使用して、Webサービス呼び出しを介してパラメーターを渡すことは可能ですか?Webサービスに送信したパラメーターをログに記録しようとしています。

この追跡では、Webサービスに割り当てたjax-wsハンドラーを使用します。これは、ハンドラーの外観とメソッドの単純で一般的な例です。

    public class RafaSOAPHandler implements SOAPHandler<SOAPMessageContext> {

        @Override
        public boolean handleMessage(SOAPMessageContext context) {
        System.out.println("Client : handleMessage()......");
             // TODO: GET METHOD PARAMETERS HERE.
        return true;
        }

        @Override
        public boolean handleFault(SOAPMessageContext context) {
        System.out.println("Client : handleFault()......");
        return true;
        }

        @Override
        public void close(MessageContext context) {
        System.out.println("Client : close()......");
        }

        @Override
        public Set<QName> getHeaders() {
        System.out.println("Client : getHeaders()......");
        return null;
        }

    }
4

1 に答える 1

2

クライアント側のハンドラーを使用して、Webサービス呼び出しを介してパラメーターを渡すことは可能ですか?

答えは簡単です:はい、それは可能です。SOAPMessageContext次のように、soapメッセージを抽出できます。

public boolean handleMessage(SOAPMessageContext context) {
    SOAPMessage message = context.getMessage();
    SOAPHeader header = message.getSOAPHeader();
    SOAPEnvelope envelope = message.getSOAPPart().getEnvelope();
}

そして、あなたが石鹸の封筒を持っている限り、あなたはあなたのSOAPメッセージからどんなパラメータも得る。

于 2012-09-27T16:25:23.560 に答える