axis2 wsdl2java 使用方式
2011-12-06 19:51
288 查看
转自: WebService大讲堂之Axis2(1):用POJO实现0配置的WebService http://www.blogjava.net/nokiaguy/archive/2009/04/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/01/02/249556.html Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebService,同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。在本文中主要介绍了如何使用Axis2开发一个不需要任何配置文件的WebService,并在客户端使用Java和C#调用这个WebService。 一、Axis2的下载和安装 读者可以从如下的网址下载Axis2的最新版本: http://ws.apache.org/axis2/ 在本文使用了目前Axis2的最新版本1.4.1。读者可以下载如下两个zip包: axis2-1.4.1-bin.zip axis2-1.4.1-war.zip 其中axis2-1.4.1-bin.zip文件中包含了Axis2中所有的jar文件, axis2-1.4.1-war.zip文件用于将WebService发布到Web容器中。 将axis2-1.4.1-war.zip文件解压到相应的目录,将目录中的axis2.war文件放到<Tomcat安装目录>\webapps目录中(本文使用的Tomcat的版本是6.x),并启动Tomcat。 在浏览器地址栏中输入如下的URL: http://localhost:8080/axis2/ 如果在浏览器中显示出如图1所示的页面,则表示Axis2安装成功。 ![]() 图1 四、用wsdl2java简化客户端的编写 也许有很多读者会说“有没有搞错啊,只调用两个WebService方法用要写这么多代码,太麻烦了”。 不过幸好Axis2提供了一个wsdl2java.bat命令可以根据WSDL文件自动产生调用WebService的代码。wsdl2java.bat命令可以在<Axis2安装目录>"bin目录中找到。在使用wsdl2java.bat命令之前需要设置AXIS2_HOME环境变量,该变量值是<Axis2安装目录>。 在Windows控制台输出如下的命令行来生成调用WebService的代码: %AXIS2_HOME%\bin\wsdl2java -uri http://localhost:8080/axis2/services/SimpleService?wsdl -p client -s -o stub 其中-url参数指定了wsdl文件的路径,可以是本地路径,也可以是网络路径。-p参数指定了生成的Java类的包名,-o参数指定了生成的一系列文件保存的根目录。在执行完上面的命令后,读者就会发现在当前目录下多了个stub目录,在."stub"src"client目录可以找到一个SimpleServiceStub.java文件,该文件复杂调用WebService,读者可以在程序中直接使用这个类,代码如下: package client; import javax.xml.namespace.QName; import org.apache.axis2.addressing.EndpointReference; import org.apache.axis2.client.Options; import org.apache.axis2.rpc.client.RPCServiceClient; public class StubClient { public static void main(String[] args) throws Exception { SimpleServiceStub stub = new SimpleServiceStub(); SimpleServiceStub.GetGreeting gg = new SimpleServiceStub.GetGreeting(); gg.setName("比尔"); System.out.println( stub.getGreeting(gg).get_return()); System.out.println(stub.getPrice().get_return()); } } 上面的代码大大简化了调用WebService的步骤,并使代码更加简洁。但要注意的是,wsdl2java.bat命令生成的Stub类将WebService方法的参数都封装在了相应的类中,类名为方法名,例如,getGreeting方法的参数都封装在了GetGreeting类中,要想调用getGreeting方法,必须先创建GetGreeting类的对象实例。 |
相关文章推荐
- axis2 wsdl2java 使用方式
- axis2 wsdl2java 使用方式
- axis2(1.4及以上版本) wsdl2java 使用方式
- 使用axis2,根据WSDL生成java客户端代码
- Axis2 中的工具wsdl2Java 的使用点滴
- java调用WSDL接口(使用axis方式)
- 使用axis2的wsdl2java把wsdl生成java文件
- Axis2 中的工具wsdl2Java 的使用点滴
- 使用axis2,根据WSDL生成java客户端代码
- 使用axis2 java2wsdl命令生成wsdl文件
- Java使用axis2调用wsdl形式的webservice
- axis2使用WSDL2Java把WSDL生成JAVA类的具体代码
- 使用axis2,根据WSDL生成java客户端代码
- 使用axis2的wsdl2java把wsdl生成java文件
- 关于eclipse中使用axis2-1.4工具wsdl2java(CodeGen的问题解决)
- 使用axis2的wsdl2java把wsdl生成java文件
- Axis2中使用wsdl2java.bat生成客户端代码
- 使用Axis2 wsdl2java命令生成webservice客户端
- 区分使用Axis2和CXF的wsdl2java命令
- 关于axis2使用wsdl2java.bat注意点