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

发布于 2024-11-03 17:43:47 字数 701 浏览 0 评论 0原文

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

PayloadRootQNameEndpointMapping 从 Spring Web Services 2.0 开始已弃用,转而使用 PayloadRootAnnotationMethodEndpointMapping

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

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

先感谢您。

We used the PayloadRootQNameEndpointMapping to map endpoint scripts (based on a scripting language like groovy or something else) to a given root QName. We recently tried to migrate spring ws to version 2.0. The javadoc of the PayloadRootQNameEndpointMapping shows that the class is marked as deprecated.

PayloadRootQNameEndpointMapping Deprecated as of Spring Web Services 2.0, in favor of PayloadRootAnnotationMethodEndpointMapping

Since annotations are static we can't provide a dynamic concept for scripting endpoints. Until now we could generically map the Bean which is handling a script endpoint (provided with a script file and some contexts) to the root QName.

Short: How can we achieve the good old bean endpoint to Root QName mapping without using the deprecated API? Any ideas?

Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故人爱我别走 2024-11-10 17:43:47

Can you use something like the SimpleMethodEndpointMapping to write your own dispatcher? Check the link for the source

∞梦里开花 2024-11-10 17:43:47

您可以使用更通用的 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>

You can use more general XPathPayloadEndpointMapping where xpath will point to root element.

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文