【问题标题】:Generating JAX-WS client stubs for JAX-RPC web service?为 JAX-RPC Web 服务生成 JAX-WS 客户端存根?
【发布时间】:2012-09-11 05:46:10
【问题描述】:

我能否使用 JAX-WS (wsimport) 生成的客户端存根连接到 JAX-RPC Web 服务?使用 JAX-WS 客户端使用 JAX-RPC Web 服务有什么影响?有什么优点和缺点吗?

【问题讨论】:

    标签: java web-services wsdl jax-ws jax-rpc


    【解决方案1】:
    1. 工具wsimport 处理WSDL 文件,该文件是描述Web 服务的XML 文档。
    2. 工具wsimport 不关心WSDL 中描述的服务(RPC/DOCUMENT)的样式。
    3. 如果 WSDL 具有 RPC 样式,它将生成用于使用 RPC 样式 Web 服务的客户端存根,类似地用于文档样式。
    4. JAX-WS(提供wsimport)提供(或者更确切地说能够生成)Web 服务的样式(RPC/文档),并且两者都可以与各自类型的服务端点一起很好地工作。
    5. Here is an example of 使用 wsimport 生成 JAX-RPC 客户端。

    希望这会有所帮助。

    【讨论】:

    • 嗨!感谢您的回复!这是否意味着我使用 wsimport 生成的客户端存根或 wscompile 生成的客户端存根都没有关系,因为最后我仍然可以使用两者中的任何一个进行连接?我的困境是这样的:我有一组 WSDL 文件。由于我在收到 WSDL 文件时还不知道如何生成客户端存根,所以我请人为我生成客户端存根。生成客户端存根的人使用 IBM 的 RAD。有些文件是使用 JAX-RPC 生成的,而有些是使用 JAX-WS 生成的。
    • 现在这是我感到困惑的部分:如果他可以使用 JAX-WS 生成所有 WSDL 文件,那么他为什么要使用 JAX-RPC 生成其他文件?使用 JAX-RPC 生成的相关性是什么?我知道 JAX-WS 比较新,那么他为什么选择使用 JAX-RPC 生成其他的呢?你能告诉我这个吗?
    • 嗯,wsimport 是生成 Web 服务工件的最新方法,并且更好,因为 wscompile 是做同样事情的早期方法。 Check this link。理想情况下,正如您所说,您使用wsimport 还是wscompile 都没有关系。但是,在您的特定情况下,为什么其他人使用JAX-RPC 而不是JAX-WS?老实说,我无法弄清楚这一点。他本人更适合回答这个问题。
    • 不确定,但可能是 WSDL 过于复杂而无法由普通wsimport 处理的情况,因此他不得不使用wscompile。但这是一个遥远的可能性,我很想知道那个案例。
    • 谢谢!是的,我也不确定他为什么选择在其他人身上使用 JAX-RPC。事实上,我还能够从他生成 JAX-RPC 客户端的 WSDL 文件中生成 JAX-WS 客户端。所以 WSDL 文件应该没有问题。但是我无法测试生成的客户端,因为我无法访问实际的 Web 服务。 :|也许我应该直接问他为什么这样做。感谢您的澄清!
    猜你喜欢
    • 1970-01-01
    • 2014-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 2018-03-28
    • 1970-01-01
    相关资源
    最近更新 更多