Я хочу создать клиент веб-сервиса SOAP весной с настраиваемыми учетными данными. Такая же реализация будет использоваться для вызова разных клиентов с различной аутентификацией пользователя/пароля. Будет использоваться обычная аутентификация.Spring WebServiceClient с настраиваемыми учетными данными
Как и для spring ws WebServiceTemplate credentials, но с разными учетными данными для каждого звонка.
Есть ли лучший способ сделать это, чем получить WebServiceMessageSender и установить учетные данные каждый раз? Если я делаю так, что происходит с запросами, выполненными параллельно с другими клиентами?
Текущая конфигурация
@Bean
public WebServiceTemplate webServiceTemplate(){
WebServiceTemplate template = new WebServiceTemplate();
template.setMessageSender(messageSender());
return template;
}
@Bean
public HttpComponentsMessageSender messageSender(){
HttpComponentsMessageSender sender = new HttpComponentsMessageSender();
return sender;
}
Web Service Client
public Status updateStatus(URL url, String user, String password,PackageStatus request){
WebServiceTemplate template = getWebServiceTemplate();
//TODO set credentials here ???
return (Status) template.marshalSendAndReceive(request);
}
Большое спасибо за вашу помощь, Neo
Здравствуйте @Alexander это, кажется, хорошее решение с использованием фабрики. Не думал об этом. Спасибо за этот намек: D Использование AuthScope не будет возможным, так как во время исполнения добавляются и изменяются клиенты. Я дам фабрике попробовать сейчас. Благодаря! – NeoP5
Добро пожаловать – Alexander