2

我是 web 服务领域的新手,我必须开发客户端代码,即 java 代码,我已经获得了一个 wsdl,我可以通过在浏览器中打开该 wsdl 来查看它,因为我可以访问 wsdl让我知道如何通过 Axis 2 从该 wsdl 本身生成客户端代码,任何帮助将不胜感激,在此先感谢

4

3 回答 3

1

有很多方法可以生成客户端和服务器存根。您可以使用 WSDL2Code 插件方法 此插件将 WSDL 作为输入,并生成客户端和服务器存根,用于调用或实现与 WSDL 匹配的 Web 服务。将以下部分添加到您的 POM

      <plugin>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
            <version>1.6.0</version>
            <executions>
                <execution>
                    <id>ws1</id>
                    <goals>
                        <goal>wsdl2code</goal>
                    </goals>
                    <configuration>
                       <unpackClasses>true</unpackClasses>
                       <databindingName>adb</databindingName>
                       <packageName>ma.glasnost.sample.axis2-maven</packageName>
                       <wsdlFile>src/main/resources/ws.wsdl</wsdlFile>
                       <outputDirectory>target/generated-sources</outputDirectory>
                       <syncMode>sync</syncMode>
                    </configuration>
                </execution>
           ..... if you have many web services                
            </executions>
        </plugin>

还添加axis2 jar作为依赖项

 <dependency>
          <groupId>org.apache.axis2</groupId>
          <artifactId>axis2</artifactId>
          <version>1.4</version>
 </dependency>
于 2013-04-17T11:09:17.420 回答
0

如果您使用的是 Eclipse,则使用此链接中提到的 Java 代码生成。http://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html#WSDL2Java

于 2013-04-17T11:08:19.937 回答
0

这里简要概述了生成客户端 Java 代码所需执行的操作:

  1. 在网络浏览器中打开指向 wsdl 文档的 URL。
  2. 将该网页另存为 xml 文档。
  3. 重命名文件以具有 .wsdl 扩展名(可选)
  4. 然后你需要通过java命令运行WSDLToJava java文件,这个类会包含在axis.jar中
  5. 提供 wsdl 文件名作为此 java 文件的参数。
  6. 将所需的所有 jar 文件作为类路径参数提供给此 java 命令

因此,您的命令将如下所示:

java -classpath axis.jar;%CATALINA_HOME%/shared/lib/commons-httpclient.jar;%CATALINA_HOME%/shared/lib/log4j.jar;%CATALINA_HOME%/shared/lib/commons-logging.jar;wsdl4j.jar ;commons-net.jar;commons-discovery.jar;jaxrpc.jar;soap.jar;saaj.jar org.apache.axis.wsdl.WSDL2Java your_wsdl_fileName.wsdl

于 2013-04-17T10:58:59.123 回答