1
我們正在創建一個來自WSDL的web服務,其中soap消息在請求和響應中同時包含標題和正文。你怎麼能設置這個與Spring WS一起工作?我找不到任何例子?包含頭部和身體信封的Spring Web服務
在WSDL
<wsdl11:message name="createCourseSectionRequest">
<wsdl11:part name="Parameters" element="tns:createCourseSectionRequest"/>
<wsdl11:part name="HeaderInfoParameters" element="tns:imsx_syncRequestHeaderInfo"/>
</wsdl11:message>
<wsdl11:message name="createCourseSectionResponse">
<wsdl11:part name="Response" element="tns:createCourseSectionResponse"/>
<wsdl11:part name="HeaderInfoResponse" element="tns:imsx_syncResponseHeaderInfo"/>
</wsdl11:message>
端點
@PayloadRoot(localPart="CreateCourseSectionRequest", namespace="")
@ResponsePayload
public CreateCourseSectionResponse createCourseSection(CreateCourseSectionRequest req) {
//TODO
return null;
}
例
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ims="http://www.imsglobal.org/services/lis/cmsv1p0/wsdl11/sync/imscms_v1p0">
<soapenv:Header>
<ims:imsx_syncRequestHeaderInfo>
<ims:imsx_version>?</ims:imsx_version>
<ims:imsx_messageIdentifier>?</ims:imsx_messageIdentifier>
<!--Optional:-->
<ims:imsx_sendingAgentIdentifier>?</ims:imsx_sendingAgentIdentifier>
</ims:imsx_syncRequestHeaderInfo>
</soapenv:Header>
<soapenv:Body>
.....
</soapenv:Body>
</soapenv:Envelope>
你在這方面有什麼進展或你需要幫助嗎? – Neel 2013-03-17 22:04:59
仍然需要幫助,看起來像一個選項是使用攔截器併發送端點方法中的標題信息,不確定。 – 2013-03-18 17:35:30
是的 - 這是一種方法。您可以創建一個擴展EndpointInterceptor的類,並且可以重寫handleRequest和handleResponse方法來添加處理標題信息的自定義邏輯。 (對不起,如果答案太抽象了(通勤)我可以添加更多信息,如果你不能繼續) – Neel 2013-03-18 18:35:45