Пример метода с использованием Java 1.8: Как добавить заголовок HTTP:
public void executeObjectWebservice(String id) {
ExecuteObject request = new ExecuteObject();
getWebServiceTemplate().marshalSendAndReceive("http://url/webservice-test/uc4ws",
new ObjectFactory().createExecuteObject(request), new WebServiceMessageCallback() {
public void doWithMessage(WebServiceMessage message) throws IOException {
TransportContext context = TransportContextHolder.getTransportContext();
HttpUrlConnection connection = (HttpUrlConnection) context.getConnection();
connection.addRequestHeader("ID", id);
}
});
}
Объяснение : Используйте getWebServiceTemplate (). MarshalSendAndReceive, как описано, например, здесь: https://spring.io/guides/gs/consuming-web-service/
Первый параметр - это URI, второй - объект, который должен быть отправлен с запросом.В качестве третьего параметра вы можете добавить функцию
new WebServiceMessageCallback()
, где вы переопределяете public void doWithMessage
.Этот метод вызывается перед отправкой запроса .Внутри вы можете получить доступ к сообщению и добавить заголовок запроса через
TransportContext context = TransportContextHolder.getTransportContext();
HttpUrlConnection connection = (HttpUrlConnection) context.getConnection();
connection.addRequestHeader("ID", id);