使用JAX-WS和自定义WSDL,有没有一种方法可以获取将发送到Web服务而不实际调用服务的消息?我需要生成符合WSDL的soap消息,但是soap消息实际上嵌入到另一个消息中。我想我可以创建一个本地Web服务,它只是回应消息,但似乎应该有一种方式,而不是使用处理链,或者当它发送消息时无关紧要。JAX-WS在没有实际发送到Web服务的情况下获得肥皂
也许最简单的事情就是手动生成肥皂?
使用JAX-WS和自定义WSDL,有没有一种方法可以获取将发送到Web服务而不实际调用服务的消息?我需要生成符合WSDL的soap消息,但是soap消息实际上嵌入到另一个消息中。我想我可以创建一个本地Web服务,它只是回应消息,但似乎应该有一种方式,而不是使用处理链,或者当它发送消息时无关紧要。JAX-WS在没有实际发送到Web服务的情况下获得肥皂
也许最简单的事情就是手动生成肥皂?
也许这个例子有助于(从了解Web服务,第1部分:SOAP,IBM开发的作品,第21页):
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();
SOAPPart SOAPPart = message.getSOAPPart();
SOAPEnvelope envelope = SOAPPart.getEnvelope();
SOAPBody body = envelope.getBody();
SOAPElement bodyElement = body.addChildElement(envelope.createName("echo", "req", "http://localhost:8080/axis2/services/MyService/"));
bodyElement.addChildElement("category").addTextNode("classifieds");
message.saveChanges();
SOAPPart SOAPpartbefore = message.getSOAPPart();
SOAPEnvelope reqenv = SOAPpartbefore.getEnvelope();
System.out.println(reqenv.toString());
我希望这有助于:
http://www.java-tips.org/java-ee-tips/java-api-for-xml-web-services/writing-a-handler-in-jax-ws.html
你可以在发送之前拦截消息,获取主体,获取标题,使用SAML或任何您想要的标记它,然后将其发送到服务器。
JAX-WS只是一个API ......你正在使用哪个实现? – skaffman 2010-01-30 20:32:35
您是否找到解决您的问题的方法?如果是这样,请分享回答你自己的问题。我很想知道如何做到这一点。 – 2010-06-16 20:42:30