是的,你可以。
請確保您的XSD是從wsdl導入而不是嵌入您的wsdl。
點xjc(來自Jaxb2)在你的xsd並讓它產生你的類。
現在檢查你的模式。
如果您的請求和響應元件具有嵌入的複雜類型使用此:
RequestElement requestElement = new RequestElement();
ResponseElement responseElement = (ResponseElement) webServiceTemplate.marshalSendAndReceive(requestElement);
否則(參考複雜類型)使用此:
RequestType requestType = new RequestType();
JAXBElement<RequestType> request = new ObjectFactory().createRequestType(requestType);
ResponseType responseType = ((JAXBElement<ResponseType>) webServiceTemplate.marshalSendAndReceive(request)).getValue();
RequestElement,ResponseElement,的RequestType和的responseType當然只是例子。將它們替換爲Xjc從您的模式生成的任何類。
這幫助我使用Spring WS和JAXB2來設置我的webservice客戶端。我逐字複製了那個給我導入錯誤的RequestElement和ResponseElement。事實證明,這些只是我想用的真實元素的佔位符:)也許你應該注意到這一點。 – chris 2010-12-03 13:41:13
好點。謝謝 !編輯我的答案。 – 2010-12-03 14:27:11