由于最近工作要用上Web Serive,之前一点都没接触过,而且是使用Axis1.x框架,于是就开始恶补下。本文是本人的学习总结,若有发现有什么错误,请见谅,若你有更好的建议请联系我,欢迎你与我交流。
Axis简介
Axis是一项Apache开源的Web Service运行引擎。Axis分Axis1.x与Axis2。本文将以Axis1.4为例。
开发环境
Aixs1.4, 若没有请到这http://www.apache.org/dyn/closer.cgi/ws/axis/1_4下载
JDK1.6
Tomcat6.0
Axis安装
1.将下载的axis-bin-1_4.zip进行解压,解压后如下:
2.进入webapps目录,拷贝axis文件夹的所有文件到tomcat里面的wbapps目录里面
3.启动tomcat,打开浏览器,输入地址http://localhost:8080/axis
4.点击Validation 注:没有Error提示才算完成安装,若出现Error,都是缺少相应的jar包。
开发自己的Web Service
Axis提供了两种发布模式
1.即时发布,也就是把一个后缀为.java文件改成.jws,注意这个文件的内容不能带包
2.定制发布,通过server-config.xml里面部署进行发布
首先来看看即时发布
服务端:
1.在tomcat的webapps/axis目录下,新建一个Hello.java文件,内容如下:
public class Hello() { public String sayHello(String name) { return "Hello:" + name; } }
2.重启tomcat,然后在浏览器输入http://localhost:8080/axis/Hello.jws
3.点击Click to see the WSDL,若出现效果如下,恭喜你,发布成功,服务端就是提供一个sayHello的接口
客户端
建立一个普通Java工程,添加axis/WEB-INF/lib目录下的jar包
public class Client { public static void main(String[] args) { //目标地址,也就是wsdl的地址 String wsdlURL = "http://localhost:8080/axis/Hello.jws"; //提供接口名 String serviceName = "sayHello"; //创建服务对象 Service service = new Service(); //创建调用对象 Call call = service.createCall(); //设置调用目标地址 call.setTargetEndpointAddress(wsdlURL); //设置操作名称 call.setOperationName(new QName(wsdlURL, serviceName)); //传递参数 String result = (String)call.invoke(new Object[]{"Tankiy"}); System.out.println(result); } }
运行控制台,出现的结果Hello:Tankiy,恭喜你,客户端调用成功。
这一节就到此,下一节将讲解定制发布。