【问题标题】:Spring Web Services: Redirect Web Service RequestSpring Web 服务:重定向 Web 服务请求
【发布时间】:2011-02-25 22:27:26
【问题描述】:

我有不同的 Spring Web 服务,它们由 端点注释,因此尽管有注释(没有接口等),但没有依赖关系。因此,不存在“上下文”信息。

现在我想链接一个网络服务请求,即。调用端点本身应该调用同一服务器上的 Web 服务。我可以使用 Spring 的 WebServiceTemplate,但是,对于这个请求,我需要 当前服务器 url

有什么方法可以在应用程序启动期间将此 url 注入端点?由于端点没有扩展某些类,因此无法在端点内的任何地方获取此信息,请求参数也没有此信息(这些是简单的 JAXB 类,根据请求编组)。

【问题讨论】:

    标签: web-services spring spring-ws


    【解决方案1】:

    我认为最好的选择是将 URL 作为请求的一部分发送。

    这还使您可以稍后将 URL 动态更改为第三个服务器。

    【讨论】:

    • 没错,但是,我没有。它由 Spring 在内部处理,我不知道如何访问它。我的类(端点)是用纯 JAXB 对象调用的。
    • Spring 的 WebServiceTemplate 类有一个可以使用的 getDefaultUri() 方法。
    • 但是它是从哪里来的呢? WebServiceTemplate 必须在应用程序上下文中定义并且必须在那里设置,不是吗?由于我在 Endpoint 内使用 WebServiceTemplate(链接...),我不知道服务器的实际地址,前提是 Spring 不提供“自身”这样的属性,该属性可以在启动期间注入到端点中.
    • 您可以将 URL 作为属性发送到 JAXB 请求对象中。然后您可以使用此 URL 并创建一个新的 WebServiceTemplate。最终在您的存储库中有一个单独的WebServiceTemplate bean,只需将 URL 注入此 bean。
    猜你喜欢
    • 1970-01-01
    • 2010-09-27
    • 2011-02-04
    • 2016-07-18
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多