2010-01-30 39 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());