2016-04-11 2 views
1

ws: исходящий-шлюз интеграции Spring имеет свойство перехватчика и перехватчика, которое позволяет мне определить ClientInterceptor для исходящего SpringWS.Глобальный перехватчик для ws: исходящий-шлюз

Для входящих веб-сервисов с использованием SpringWS я могу определить глобальный перехватчик в sws: перехватчики. Я использую это для регистрации всех входящих запросов в базу данных.

Есть ли способ определить перехватчик для ВСЕ ws: экземпляры исходящего-шлюза? Я хотел бы вывести исходящую информацию в базу данных для всех веб-сервисов.

ответ

0

M-m-m. Нет такого прямого API высокого уровня по этому вопросу. Хотя я предполагаю, что мы использовали бы инъекцию WebServiceTemplate как точку, чтобы принять тот же самый экземпляр везде. Но это инъекция в любом случае для многих ws:outbound-gateway.

Часть inbound действительно основана на единственной точке входа, например. MessageDispatcherServlet, но outbound отличается от них, поэтому нет глобального доступа к ним.

Я предлагаю вам некоторые хитрости в одном из вашего класса конфигурации, в любом случае:

@Autowired 
private List<AbstractWebServiceOutboundGateway> outboundWsGateways; 

@PostConstruct 
public void setup() { 
    for (AbstractWebServiceOutboundGateway gateway: this.outboundWsGateways) { 
     gateway.setInterceptors(...); 
    } 

} 
Смежные вопросы