【问题标题】:Forwarding requests from one web service to another将请求从一个 Web 服务转发到另一个
【发布时间】:2011-08-20 01:07:28
【问题描述】:

所以情况如下:

我有一个与 JAX-RPC Web 服务通信的应用程序(托管在 JBoss 服务器上的 .ear 包中)。我们需要将此 Web 服务中的所有操作移至具有新名称的新操作,记住我们应该保持与旧 Web 服务存根的客户端的向后兼容性。我的想法是,我不应该在两个 Web 服务中保留操作逻辑,而是尝试将旧客户端的请求从旧 Web 服务转发到新 Web 服务。我找到了一个解决方案,但我不知道它的缺点是什么:我在旧 Web 服务中保留了操作的骨架,在我的 ejbCreate() 中,我创建了新 Web 服务的 bean 实例,并且现在我所做的就是使用这个 bean 实例调用新 Web 服务的操作(传递与从客户端接收到的相同参数,而不运行任何逻辑)。我的解决方案有效吗?有没有更好的选择?

【问题讨论】:

    标签: java jboss jax-rpc


    【解决方案1】:

    为什么不使用ws-addressing?你读过吗? (老实说我没用过,但我知道它可以用来代理请求)

    【讨论】:

    • 从未听说过。当两个 Web 服务都存在于同一个 Web 应用程序中时,这会是一个有效的解决方案吗?还是这无关紧要?
    • 正如我所说,我从未使用过它。我认为寻址信息中应该有一个 URI,所以我看不出它不能在同一个容器中工作(甚至在同一个 webapp 中)的原因。 google WS-Addressing 并阅读它,wiki 可能是一个很好的起点。顺便说一句 - WS-* 是一团糟,很难让这些东西工作,特别是在使用像旧 jbossws 这样的异国情调和旧 WS 堆栈时。请让我们知道您的发现并祝您好运
    • 非常感谢您的提醒。我会用我发现的任何东西更新你。再次感谢。
    【解决方案2】:

    旧线程,但对于谷歌同事来说,这是一个更好的答案:

    查看membrane-soa反向代理:http://www.membrane-soa.org/reverse-soap-proxy.htm

    要解决有问题的确切问题,请查看此文档:http://www.membrane-soa.org/service-proxy-doc/4.0/soap-quickstart.htm

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-03
      • 1970-01-01
      • 2022-10-23
      • 2014-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-14
      相关资源
      最近更新 更多