Как установить XML внутри сегмента SOAP-заголовка не как пользовательский атрибут (неправильно понимается OSB, как мусор) - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь вызвать 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="&lt;ns:HeaderRequest xmlns:ns=&quot;http://localhost&quot;&gt;&lt;ns:Common&gt;&lt;/ns:Common&gt;&lt;/ns:HeaderRequest&gt;">
  <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?

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...