0

是否可以通过在客户端使用处理程序来获取通过 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

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 回答