由于缺少bean端点映射,迁移到Spring WS 2.0失败了?

时间:2011-04-27 09:43:09

标签: java spring spring-ws

我们使用PayloadRootQNameEndpointMapping将端点脚本(基于诸如groovy之类的脚本语言)映射到给定的根QName。我们最近尝试将spring ws迁移到2.0版。 PayloadRootQNameEndpointMapping的javadoc显示该类被标记为已弃用。

  

PayloadRootQNameEndpointMapping自Spring Web Services 2.0起不推荐使用{赞成PayloadRootAnnotationMethodEndpointMapping

由于注释是静态的,我们无法为脚本编写端点提供动态概念。到目前为止,我们可以将处理脚本端点(提供脚本文件和一些上下文)的Bean一般映射到根QName

简短:如何在不使用弃用的API的情况下实现好的旧bean端点到Root QName映射?有什么想法吗?

提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用类似SimpleMethodEndpointMapping的内容来编写自己的调度程序吗?检查源

的链接

答案 1 :(得分:-1)

您可以使用更通用的XPathPayloadEndpointMapping,其中xpath将指向根元素。

<bean id="endpointMapping" class="org.springframework.ws.server.endpoint.mapping.XPathPayloadEndpointMapping">
    <property name="expression" value="local-name(//*[1])" />
    <property name="endpointMap">
        <map>
            <entry key="rootElement" value="endpointRef" />
        </map>
    </property>
</bean>