Axis2 使用说明
作者:陈启声 Email: wsncqs@sohu.com
软件安装:
Java jdk安装略
Tomcat 安装,略 注意:环境变量的配置 详见:
CATALINA_BASE:E:/Program Files/Apache Software Foundation/Tomcat 6.0
CATALINA_HOME:E:/Program Files/Apache Software Foundation/Tomcat 6.0
Axis2:安装
在本文使用了目前Axis2的最新版本1.4.1。读者可以下载如下两个zip包:
(下载地址如下:http://ws.apache.org/axis2/download.cgi)
axis2-1.5.1-bin.zip
axis2-1.5.1-war.zip
其中axis2-1.5.1-bin.zip文件中包含了Axis2中所有的jar文件, axis2-1.5.1-war.zip文件用于将WebService发布到Web容器中。
将axis2-1.5.1-war.zip文件解压到相应的目录,将目录中的axis2.war文件放到 /webapps目录中(本文使用的Tomcat的版本是6.x),并启动Tomcat。
在浏览器地址栏中输入如下的URL:
http://localhost:8080/axis2/ (注意先开启 tomcat 服务)
显示如下:
代码测试:
代码测试前,请先下载 Axis1.4,因为将使用里面的一个 编译工具.
下载地址:http://ws.apache.org/axis2/download.cgi
下载 Axis1.4 将lib 目录下的文件复制到tomcat_home/common/lib 下,若无common文件,则直接放在 lib文件下,将webapps下的axis 文件复制到 tomcat_home/webapps下。
接着测试:http://localhost:8080/axis/ 显示如下:安装成功。
编写 SimpleService.java 内容(暨简单的pojo)如下:
public class SimpleService { public String getGreeting(String name) { return "你好 " + name; } public int getPrice() { return new java.util.Random().nextInt(1000); } } |
将源文件后缀改成.jws 复制到 axis的目录下, 在浏览器中输入
http://localhost:8080/axis/SimpleService.jws , 其后 axis1.4 会编译此 jws文件,并把 class 放在 tomcat_home/webapps/axis/WEB_INF/jwsClass目录下:
其中若提示缺少*.jar,你可以在 aixs 的lib中找到它,并加入。
注:自然,你也可以用 eclipse 插件 ant? 编译 详见:apache 的axis plugin 项的说明.
复制上述 的 SimpleService.class 到 axis2 中的WEB-INF 下的pojo下,若无此文件pojo,情新建之.
现在我们已经成功将SimpleService类发布成了WebService。在浏览器地址栏中输入如下的URL:
http://localhost:8080/axis2/services/listServices
这时当前页面将显示所有在Axis2中发布的WebService,如图2所示。
在浏览器地址栏中输入如下的两个URL来分别测试getGreeting和getPrice方法:
http://localhost:8080/axis2/services/SimpleService/getGreeting?name=bill
显示如下:
注: 此法不提倡在企业应用中使用,只适用于简单的系统。
Xml配置发布web service 情详见…
调用webService:
Stub调用:
这里我使用简化的 wsdl2java 简化客服端的编写( 为了避免繁杂的客服端代码).
在使用wsdl2java.bat命令之前需要设置AXIS2_HOME环境变量,该变量值是
如下:
AXIS2_HOME: E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/axis2
Classpath: .;E:/Program Files/Java/jdk1.6.0_10/lib/dt.jar;E:/Program Files/Java/jdk1.6.0_10/lib/tools.jar 在classpath中添加 dt.jar 和 tools.jar.
解压
axis2-1.5.1-bin.zip
进入上述解压文件中的bin 文件下: 在终端 输入: wsdl2java -uri http://localhost:8080/axis2/services/SimpleService?wsdl -p client -s -o stub
接着 你就在 bin 文件中看见 stub文件,stub/src/client 下有个 SimpleServiceStub.java文件。
新建 java 项目, 新建包 client ,并在其下 新建 SimpleServiceStub.java, 复制 stub中的 代码到 此新建文件, 再新建主文件 StubClient.java 代码如下:
import client.SimpleServiceStub; 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()); } } |
运行代码 成功显示如下:
引用出处:
http://www.blogjava.net/nokiaguy/archive/2009/01/archive/2009/01/archive/2009/01/02/249556.html
http://hi.baidu.com/lijunwyf/blog/item/9c9a83ee69f04fe5ce1b3ea9.html
本文系作者原撰,其中引用已给处地址,若转载请说明来处,谢谢。