2010-01-30 53 views
2

使用JAX-WS和自定义WSDL,有没有一种方法可以获取将发送到Web服务而不实际调用服务的消息?我需要生成符合WSDL的soap消息,但是soap消息实际上嵌入到另一个消息中。我想我可以创建一个本地Web服务,它只是回应消息,但似乎应该有一种方式,而不是使用处理链,或者当它发送消息时无关紧要。JAX-WS在没有实际发送到Web服务的情况下获得肥皂

也许最简单的事情就是手动生成肥皂?

+0

JAX-WS只是一个API ......你正在使用哪个实现? – skaffman 2010-01-30 20:32:35

+0

您是否找到解决您的问题的方法?如果是这样,请分享回答你自己的问题。我很想知道如何做到这一点。 – 2010-06-16 20:42:30

回答

0

也许这个例子有助于(从了解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());