Мы создаем веб-сервис, который поступает из WSDL, который мыльное сообщение имеет как заголовок, так и тело в запросе и ответе. Как вы можете настроить это для работы с Spring WS? Я не могу найти примеров ????Spring Web Service с заголовком и корпусом в конверте
В 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
По-прежнему нужна помощь, выглядит как опция - использовать перехватчик и отправлять информацию заголовка в методе конечных точек, не уверен. –
Да, это подход. Вы можете создать класс, который расширяет EndpointInterceptor, и вы можете переопределить методы handleRequest и handleResponse, чтобы добавить свою собственную логику, которая обрабатывает информацию заголовка. (Извините, если ответ слишком абстрактный. (В коммутируемой сети). Я могу добавить дополнительную информацию, если вы не можете продолжить) – Neel