У меня есть эталонная реализация веб-службы клиент , которая использует HeaderHandler
, как в FAQ , часть
"JAX" -WS "Стандартный способ сделать это - написать обработчик SOAP, который добавит заголовки к сообщению SOAP и зарегистрирует обработчик на клиенте / сервере. Это полностью переносимо от jax-ws вендора к вендору, но также является более сложным и может иметь последствия для производительности. Вы должны сами обработать преобразование объектов JAXB в XML. Это предполагает наличие всего сообщения soap в DOM, которое прерывает потоковую передачу. Требуется больше памяти. et c ... Однако, это не требует каких-либо изменений в интерфейсах wsdl или SEI.
За пределами моего проекта он работает нормально и использует
JAX-WS RI 2.2.9
Внутри моего проекта он использует Apache -CXF 3.2.11.
И с apache CXF он не вставляет имя пользователя и пароль в заголовок.
Кто-нибудь знает, что может быть не так? Есть ли в CXF опция, которая может быть неправильной? Есть ли более новый синтаксис, работающий без обработчика заголовка?
Даже если я упакую рабочую версию и вставлю ее как .jar в мой проект, она использует версию cxf и завершится ошибкой из-за отсутствия имени пользователя.
Спасибо!