Java 什么';这是配置SoapActionSmartEndpointInterceptor和AnnotationActionEndpointMapping的正确方法

Java 什么';这是配置SoapActionSmartEndpointInterceptor和AnnotationActionEndpointMapping的正确方法,java,spring-ws,Java,Spring Ws,AbstractAddressingEndpointMapping(AnnotationActionEndpointMapping的祖先)从BeanFactory检索所有SmartInterceptor并将其分配给实例变量。稍后,MessageDispatcher(SoapMessageDispatcher)调用映射上的getEndpoint()(从其自己的getEndpoint()方法中)。AbstractAddressingEndpointMapping.getEndpoint()调用它自己

AbstractAddressingEndpointMapping(AnnotationActionEndpointMapping的祖先)从BeanFactory检索所有SmartInterceptor并将其分配给实例变量。稍后,MessageDispatcher(SoapMessageDispatcher)调用映射上的getEndpoint()(从其自己的getEndpoint()方法中)。AbstractAddressingEndpointMapping.getEndpoint()调用它自己的私有getEndpointInvocationChain()方法,该方法使用所有拦截器创建SoapEndpointInvocationChain的新实例。它从不调用拦截器上的shouldIntercept()来确定是否应将其添加到链中

将其与SoapActionAnnotationMethodEndpointMapping联系起来,后者继承自AbstractEndpointMapping,后者在检索SmartInterceptor时也做同样的事情。然而,它的getEndpoint()方法实际上在每个拦截器上调用shouldIntercept(),并且只向其链添加返回true的拦截器。AnnotationActionEndpointMapping和SoapActionAnnotationMethodEndpointMapping具有不同的祖先,因此它们的处理方式明显不同


所以问题是——有没有合适的方法为AnnotationActionEndpointMapping配置SmartInterceptors?

我认为这是一个错误:
AnnotationActionEndpointMapping
也应该在其智能侦听器链上调用
shouldIntercept
。你能为这个问题创建一个JIRA,可能链接到这个SO问题吗?或者更好的是,提供一个?

欢迎使用StackOverflow!你用的是哪种编程语言?抱歉@philtune,我想这是显而易见的,因为这篇文章是用SpringWS标记的。答案是Java。酷,我是Java文盲。。。我只是想添加
java
标签来吸引更多的回答者。谢谢@Arjen——我打开了一个拉取请求。SWS-883已通过解决。谢谢