首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何向带注释扫描的spring-ws端点添加自定义拦截器?

如何向带注释扫描的spring-ws端点添加自定义拦截器?
EN

Stack Overflow用户
提问于 2014-04-22 19:27:20
回答 1查看 5.5K关注 0票数 1

我正在使用Spring-ws 2.1.4.RELEASE和Spring 3.2.8.RELEASE,我正在尝试向我的端点添加一个拦截器,但到目前为止还没有成功,尽管我认为我的设置非常简单。

在我的Spring-ws XML中,我有:

代码语言:javascript
运行
复制
<sws:interceptors>
    <bean class="org.springframework.ws.soap.server.endpoint.interceptor.SoapEnvelopeLoggingInterceptor"/>
</sws:interceptors>

<sws:annotation-driven/>
<context:component-scan base-package="package.with.my.endpoints" />

<bean id="messageFactory" class="org.springframework.ws.soap.axiom.AxiomSoapMessageFactory">
    <property name="payloadCaching" value="true"/>
</bean>

在我的Endpoint注解bean中,我使用了Spring-ws @Action注解来进行ws寻址映射:

代码语言:javascript
运行
复制
@Endpoint("MedicineCardIdwsEndpoint")
public class MedicineCardIdws {
    @Action("http://someuriandversion#GetMedicineCardIdws")
    @ResponsePayload
    public String getMedicineCard(@RequestPayload Element payload, SoapMessage soapMessage) {
        return ""; 
    }

但是,当我发送对端点的请求时,拦截器不会记录任何内容。起初,我认为我错误地配置了log4j。但是,如果我在org.springframework.ws.server.endpoint.AbstractLoggingInterceptor#handleRequest的第一行创建了一个断点,则该断点永远不会被触发。

然后,我在org.springframework.ws.soap.server.SoapMessageDispatcher#headerUnderstood中放置了一个断点,可以看到为我的终结点注册的唯一拦截器是org.springframework.ws.soap.addressing.server.AddressingEndpointInterceptor,它是由于操作注释而添加的。

我以为XML配置中的任何全局拦截器最终都会被添加到所有端点的拦截器链中?然而,情况似乎并非如此。它不仅仅是日志拦截器,甚至没有添加自定义拦截器。所以我一定是做错了什么。

我是使用Spring-ws的新手--我是不是在配置中遗漏了什么,或者我需要添加一个注释,以便为注释扫描的端点添加拦截器?

在使用Spring-ws的组件扫描和注释时,有没有其他方法可以将拦截器添加到拦截器链中?或者,为了确保拦截器被添加到端点,我是否需要在XML中配置所有的拦截器?

EN

回答 1

Stack Overflow用户

发布于 2014-04-23 14:15:27

我发现,如果我使用@SoapAction注释而不是WS-Addressing @Action (来自Spring-ws包的bot),我的来自XML配置的自定义拦截器将被添加到端点。

我还在Spring论坛上找到了这个帖子,建议在@SoapAction不是一个选项的情况下解决这个问题:http://forum.spring.io/forum/spring-projects/web-services/100060-interceptors-not-working-for-ws-addressing-endpoint-action

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23218121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档