AbstractAddressingEndpointMapping (предк AnnotationActionEndpointMapping) извлекает все SmartInterceptors из BeanFactory и присваивает их переменной экземпляра. Позже MessageDispatcher (SoapMessageDispatcher) вызывает getEndpoint() для сопоставления (из собственного метода getEndpoint()). AbstractAddressingEndpointMapping.getEndpoint() вызывает свой собственный метод getEndpointInvocationChain(), который создает новый экземпляр SoapEndpointInvocationChain со всеми перехватчиками. Он никогда не вызывает shouldIntercept() на перехватчике, чтобы определить, следует ли его добавить в цепочку.Каков правильный способ настройки SoapActionSmartEndpointInterceptor вместе с AnnotationActionEndpointMapping
Контракт этого на SoapActionAnnotationMethodEndpointMapping, который наследует от AbstractEndpointMapping, что делает то же самое в отношении получения SmartInterceptors. Однако метод getEndpoint() фактически вызывает shouldIntercept() для каждого перехватчика и добавляет только те, которые возвращают true своей цепочке. AnnotationActionEndpointMapping и SoapActionAnnotationMethodEndpointMapping имеют разных предков, поэтому их обработка явно отличается.
Итак, вопрос в том, есть ли способ настроить SmartInterceptors для AnnotationActionEndpointMapping?
Добро пожаловать в StackOverflow! Какой язык программирования вы используете? – philtune
Извините @philtune, я думал, что это будет очевидно, так как сообщение было помечено весной-ws. Ответ - Java. – nstoddar74
Прохладный, я неграмотный Java ... просто хотел добавить тег 'java', чтобы привлечь больше ответчиков. – philtune