Как изменить заголовки HTTP для ответа JAX-WS в CXF?
Я работал над созданием веб-сервисов CXF, которые работают за прокси-сервером безопасности, который запрашивает базовую аутентификацию HTTP перед вызовом сервиса. Эти сервисы взаимодействуют между собой и требуют аутентификации как для запроса, так и для ответа.
До сих пор я был в состоянии установить базовую аутентификацию HTTP через HTTPConduit для запроса следующим образом:
Client client = ClientProxy.getClient(port);
HTTPConduit conduit = (HTTPConduit) client.getConduit();
AuthorizationPolicy authorizationPolicy = new AuthorizationPolicy();
authorizationPolicy.setUserName(username);
authorizationPolicy.setPassword(password);
authorizationPolicy.setAuthorizationType("Basic");
conduit.setAuthorization(authorizationPolicy);
Метод выше вызывается при каждом вызове метода службы, и яполучать правильные входящие сообщения в виде
INFO: Inbound Message
----------------------------
ID: 1
Address: http://someURL/someService?wsdl
Encoding: UTF-8
Http-Method: POST
Content-Type: text/xml; charset=UTF-8
Headers: {Accept=[*/*], Authorization=[Basic {TOKEN}],
cache-control=[no-cache], connection=[keep-alive],
Content-Length=[735], content-type=[text/xml; charset=UTF-8],
pragma=[no-cache], ...}
Payload: ...
--------------------------------------
Ответ, однако, нет содержит необходимые заголовки
INFO: Outbound Message
---------------------------
ID: 2
Encoding: UTF-8
Content-Type: text/xml
Headers: {}
Payload: