我是 web 服务领域的新手,我必须开发客户端代码,即 java 代码,我已经获得了一个 wsdl,我可以通过在浏览器中打开该 wsdl 来查看它,因为我可以访问 wsdl让我知道如何通过 Axis 2 从该 wsdl 本身生成客户端代码,任何帮助将不胜感激,在此先感谢
3 回答
有很多方法可以生成客户端和服务器存根。您可以使用 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>
如果您使用的是 Eclipse,则使用此链接中提到的 Java 代码生成。http://axis.apache.org/axis2/java/core/tools/eclipse/wsdl2java-plugin.html#WSDL2Java
这里简要概述了生成客户端 Java 代码所需执行的操作:
- 在网络浏览器中打开指向 wsdl 文档的 URL。
- 将该网页另存为 xml 文档。
- 重命名文件以具有 .wsdl 扩展名(可选)
- 然后你需要通过java命令运行WSDLToJava java文件,这个类会包含在axis.jar中
- 提供 wsdl 文件名作为此 java 文件的参数。
- 将所需的所有 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