这个例子首先发布一个webservice服务,然后做一个test来调用这个服务。如果不懂webservice是什么建议先补充点理论知识。
- 前期工作
设置axis:
- 请先下载Axis的文件包 下载地址:http://www.Apache.org/Axis
- 拷贝Axis包中 webapps/axis 目录中的所有文件到tomcat的webapps目录(前提是tomcat已经正常运行了)。
- 在地址栏输入http://localhost:8080/axis/happyaxis.jsp如果能显示配置页面说明axis配置完了
- 发布服务
- 编写类SayHello.java
public class SayHello{ public String hello() { return "Hello, axis Ver1.4 talking to you."; } public String getName(String name) { return "hello "+name; } }
- 把文件改名为SayHello.jws放到tomcat的webapps/axis下,访问http://localhost:8080/axis/SayHello.jws, axis就会编译该文件,并将其部署到系统中,下面你就可以开发web service的客户端程序了
- 客户端(test)
在eclipse里新建一个java project,右键工程名build path-->add libraries添加一个axis库,选择axis包的lib,全选。
在src中新建helloTest.java
package com.yz;
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class helloTest {
public static void main(String[] args) {
try {
String endpoint = "http://localhost:8080/axis/SayHello.jws";
Service service = new Service();
Call call = null;
call = (Call) service.createCall();
call.setOperationName(new QName(
"http://localhost:8080/axis/SayHello.jws", "hello"));
call.setTargetEndpointAddress(new java.net.URL(endpoint));
String str1 = (String) call.invoke(new Object[] {});
//String str2 = (String) call.invoke(new Object[] {"yz"});
System.out.println(str1);
//System.out.println(str2);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
运行显示 Hello, axis Ver1.4 talking to you.