Я пытаюсь вызвать OSB SOAP Webservice, который использует собственный XML в SOAP-ENV: заголовок с Apache Camel и вызывает camel-spring-ws.
Я использую следующую строку кода для достиженияэта цель (вымышленные теги xml):
String-that-contains-header = "<ns:HeaderRequest xmlns:ns=\"http://localhost\"><ns:Common>...</ns:Common></ns:HeaderRequest>";
exchange.getIn().setHeader(SpringWebserviceConstantes.SPRING_WS_SOAP_HEADER, string-that-contains-header);
Используя этот подход, результатом будет следующий XML (проверка TCPMon):
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header CamelSpringWebserviceSoapHeader="<ns:HeaderRequest xmlns:ns="http://localhost"><ns:Common></ns:Common></ns:HeaderRequest>">
<ns:HeaderRequest xmlns:ns="http://localhost">
<ns:Common>
...
</ns:Common>
</ns:HeaderRequest>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
...
</SOAP-ENV:Body>
Как установить внутренний XML (используя Camelи camel-spring-ws) содержимое, избегающее автоматической настройки атрибута (здесь задается Content-Type и другие ненужные заголовки) справа от элемента SOAP-ENV: Header?
Заранее спасибо.