我正在從WSDL創建Web服務客戶端。從WSDL開發Webservice客戶端時出現異常
一個典型的SOAP請求到服務看起來是這樣的
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:someGateway">
<soapenv:Header/>
<soapenv:Body>
<urn:send>
<urn:message>
<urn:messageID>1001</urn:messageID>
<urn:messageBody>
<DataContainer>
SOME MORE ELEMENTS
</DataContainer>
</urn:messageBody>
</urn:message>
</urn:send>
</soapenv:Body>
</soapenv:Envelope>
我用JAX-WS生成服務文物和填充我的目標如下:
Message message = objectFactory.createMessage();
//Set message ID
String messageID = "123456"
message.setMessageID(messageID);
//Set message Body
MessageBody messageBody = objectFactory.createMessageMessageBody()
的消息體對象有隻有1個方法messageBody.setAny(value)。但我需要在其中放置一個DataContainer元素。
我已經試過傳:
- org.w3c.dom.DocumentObject(我得到 「javax.xml.ws.soap.SOAPFaultException:無法處理請求」)probbaly因xml decleration。如通過JAXB從XSD(I得到 「[javax.xml.bind.JAXBException:類DataContainer或其任何超類的已知此上下文]」)生成
- DataContainer對象
- 的JAXBElement(我得到「[javax.xml.bind.JAXBException:類DataContainer不知道這個上下文]」)
我在做什麼錯?或者我需要做什麼才能在消息正文中獲得DataContainer
確定WSDL是否正確? –
是的,我已經使用SoapUI向服務發送類似的請求,並且它工作正常 – Maro