【问题标题】:generate webservice template from WSDL file with help of java code借助 java 代码从 WSDL 文件生成 web 服务模板
【发布时间】:2015-01-17 22:34:32
【问题描述】:

我的机器本地有 WSDL 文件,我想使用 WSDL 文件在单独的文件中生成 Web 服务模板,所以稍后我可以根据需要更改标记值。不确定 java 中需要哪些 jar 文件、设置和 javacode 才能使用 WSDL 文件在单独的文件中生成 Web 服务模板。

【问题讨论】:

    标签: java web-services wsdl


    【解决方案1】:

    如果我理解正确,您想从您的 WSDL 生成 Java 类文件,对吗? 如果你使用metro,你必须进入metro的bin目录。 然后,您必须使用“wsimport.sh -s” 如果您在 Windows 上,请尝试 wsimport.bat 而不是 wsimport.sh

    【讨论】:

    • 谢谢@vincent,我只有本地的 WSDL 文件。我想生成请求文件(例如,来自 abc.wsdl 文件的 abc.xml 请求文件,不想调用 abc.xml 请求,而只是请求模板文件,稍后我可以在其中填写请求 xml 文件中的所有节点值)。我正在使用 eclipse 和 java。所以我想从 WSDL 文件创建请求 xml 文件,而不是从 wsdl 文件创建 java 文件。
    • 哦,好吧,一个简单的方法是使用像 SoapUI 这样的工具。用它打开你的 WSDL 文件,这个工具会自动生成请求。
    • 我们需要用java编写代码,从WSDL获取请求文件。不应该使用 SOAPUI 工具。
    • 有一个SoapUI jar 提供Java 对象来生成请求,看看有没有帮助:stackoverflow.com/questions/7487699/…
    【解决方案2】:

    我认为下面的内容应该适合你。

    wsimport -s src http://<ip address>:<port>/test?wsdl
    

    -s 指定要放置源文件的位置。

    或者如果您的wsdl 文件在本地存在,您可以在下面尝试。

    wsimport -keep -wsdllocation /<path to wsdl file>/MyService.wsdl
    

    更多参考wsimport

    【讨论】:

    • 谢谢 RE350,我认为 wsimport 是 ant 工具,它会从 wsdl 文件生成请求 xml 文件(例如,来自 abc.wsdl 文件的 abc.xml 请求文件)
    • wsimport 不是 ant 工具,是 java 工具(bat /sh 文件),可以在 JDK/bin 目录下看到。你必须从wsdl生成java文件的xml文件吗?
    • 很好,但是我们有50多个webservice,想从wsdl文件中获取请求文件,所以以后我可以像SOAPUI工具一样使用它。但不允许使用soapUI工具。如果有任何java代码来做这个操作,它会更有帮助。
    【解决方案3】:

    您可以使用axis2 从WSDL 文件生成Java 类。下载axis2二进制发行版。进入 bin 目录。根据您的要求使用正确的文件路径执行以下命令。

    ./wsdl2java.sh -uri <WSDL File Path> -o <Destination folder for Java files>
    

    例子:

    ./wsdl2java.sh -uri Mytest.wsdl -o myservice
    

    这将使用位于axis2 bin目录中的WSDL文件在axis2 bin目录的“myservices”文件夹中创建java文件。

    如果您的 WSDL 文件和目标文件夹不在axis2的bin目录中,请将这些参数的绝对路径放在上述命令中。

    【讨论】:

    • 谢谢 JSIK,我不想创建 java 文件。我想从 wsdl 文件创建请求 xml 文件。我正在使用带有 java 的 Eclipse。
    猜你喜欢
    • 2018-05-15
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 2010-11-16
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    相关资源
    最近更新 更多