gpt4 book ai didi

java - WebServices 客户端 - 动态代理与使用 wconsume 创建的 stub

转载 作者:行者123 更新时间:2023-12-04 06:21:11 27 4
gpt4 key购买 nike

我使用 JaxWs 创建了一个 Web 服务。我相信存在两种在客户端使用 Web 服务的方法。

  • 使用 wconsume e 将生成的类作为 stub 放入客户端。
  • 使用动态代理,这意味着不会有文件作为 stub 发送给客户端。

  • 我想这种方法的唯一优点是如果 wsdl 改变了,就不需要生成 stub 文件了。但是它看起来不太实用,因为我可能需要更改客户端代码中的某些内容并重新编译。我还没有使用这种技术。我找到了 this option当我在研究开发Java客户端时需要生成代理文件但使用.Net时不需要生成代理文件的原因时。

    然后,我有两个问题:
  • stub 和动态代理技术有什么区别?
  • 为什么 .Net 客户端不需要代理文件?或者是否有自动生成的文件,我不知道在哪里找到?使用 stub 与动态代理相比,我是否会失去性能或安全性?
  • 最佳答案

    1.What's the difference between stubs and Dynamic Proxy tecnich?



    不推荐使用 JAX-RPC。
    新标准是 JAX-WS。
    JAX-WS 允许程序员调用 Web 服务,就好像他们在进行本地方法调用一样。
    为此,已经定义了从 WSDL 到 Java 的标准映射。
    此映射关联 wsdl:port用 Java 定义 Interface这称为服务端点接口(interface) ( SEI)。 SEI是 Web 服务端点的 Java 表示。
    在运行时,JAX-WS 创建一个 SEI 的实例,该实例可用于通过简单地对 SEI 进行方法调用来进行 Web 服务调用。
    现在用于创建 SEI 实例的方法是通过动态代理类。
    它被称为动态代理,因为它是动态创建的。
    实现代理不需要 stub ,但 SEI 必须已经实现才能使用。
    代理使用/基于 stub 类来运行,这些 stub 类已由 WSDL 生成。
    因此, stub 是先决条件。
    因此,正如您在帖子中所说,没有分离技术。
    你误解了这个概念

    关于java - WebServices 客户端 - 动态代理与使用 wconsume 创建的 stub ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6536784/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com