【问题标题】:Using Axis to generate a web service implementation that calls another web service使用 Axis 生成调用另一个 Web 服务的 Web 服务实现
【发布时间】:2011-03-01 15:18:19
【问题描述】:

我需要提供我拥有 WSDL 的 Web 服务的实现,以便在 Weblogic 9.2 下运行。

我的目标是为此使用 Axis(1,而不是 2)工具,尝试过但未能使其与 thw weblogic Web 服务生成工具一起使用(由于无法设置身份验证 - 请参阅我的 other question here) ,

此 Web 服务需要调用另一个 Web 服务(我也有 WSDL)。

我可以使用 Axis 工具来生成客户端存根等。

但是如何将两者结合起来呢?是否有教程或其他分步指南?我在谷歌上搜索并找到了一些邮件列表帖子,但它们是关于特定问题的。

如果有人这样做了,他们是否可以为此分享其 build.xml 的相关部分?

如果我使用 weblogic web 服务生成工具,有一个工具可以一次性生成 web 服务的框架实现和它调用的 web 服务的客户端存根 - 在 Axis 中是否有类似的东西?

如果我只是尝试混合来自 WSDL2Java 的框架和客户端生成输出,有什么问题吗?

更新:

让这个工作。

使用 Eclipse 工具构建客户端,然后构建服务,允许第二个工具覆盖第一个重复的文件。然后,我们在 client_deploy.wsdd 文件(请参阅我的另一个问题 How do I refer to a client_deploy.wsdd file that's in WEB-INF?)和 jar 版本(需要将 Axis 使用的 jar 更新到较新版本)方面遇到了一些问题,然后它就可以正常工作了。

【问题讨论】:

    标签: web-services soap weblogic axis


    【解决方案1】:

    对于axis2,您可以像这样创建客户端存根(我认为axis1并没有太大不同):

    /wsdl2java.sh -uri webservice.wsdl -p com.your.client.package -d adb -s -o output_folder_client
    

    一旦你有了客户端包,你应该可以在你自己的 web 服务实现中使用它,只需导入它,创建一个客户端实例并提交请求。

    【讨论】:

    • 谢谢 - 我知道如何分别创建客户端和服务,但我想知道如何一起使用。没有冲突的案例等?这两个 Web 服务确实共享一些定义(错误等),这确实导致了 weblogic 工具版本的一些问题
    • 如果服务和客户端使用不同的包名,可以指定全名,防止命名冲突。
    • 我没有使用 Axis2 - 我有工作要做,更新了问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2013-03-27
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多