Я использую плагин wsdl2java Gradle и Spring Boot CXF JAX-WS Starter для реализации службы RPC / литерал SOAP с несколькими частями в сообщении, включая явный заголовок SOAP.Когда я отправляю пример запроса в сервис, который содержит ненулевое значение для явного заголовка SOAP, я ожидаю, что Apache CXF проанализирует и передаст это значение моей реализации сервиса.Однако я заметил, что вместо этого передается null
.
Я предоставил образец проекта Gradle , демонстрирующий проблему.Запустите его с ./gradlew bootrun
, затем отправьте следующий SOAP-запрос на http://localhost:8080/services/port
:
<soapenv:Envelope
xmlns:nam="namespace 2"
xmlns:nam1="namespace 1"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<header>
<nam:element-1>element 1</nam:element-1>
</header>
</soapenv:Header>
<soapenv:Body>
<nam1:operation>
<element-2>element 2</element-2>
</nam1:operation>
</soapenv:Body>
</soapenv:Envelope>
Ожидаемый вывод консоли должен быть примерно таким:
Header: namespace._2.Header@12345678
Element 2: element 2
Однако вместо этого:
Header: null
Element 2: element 2