1、新建Dynamic Web Project项目,项目名WebService1
2、创建接口WebService,如
package com;
import java.util.Date;
/**
* webservice接口
* @author wanzhix
* 2015-11-27 10:59:51
*/
public class WebService {
public String sayHi(String a){
return "Hi!" + a +"!";
}
public String getToday(String a){
Date date = new Date();
return "今天:"+ date;
}
//减法
public float minus(float x, float y) {
return x - y;
}
//乘法
public float multiply(float x, float y) {
return x * y;
}
}
3、右键点击 com 包,新建 webservice ,点击 browse ,输入刚才你建的 java 类的名字,如下图
然后一直 next ,最后点击start server
会生成如图接口文件
在浏览器输入http://localhost:8080/WebService1/services,若生成如图页面表示接口创建成功
4、创建webservice客户端。创建项目,选择Web Service Client,点击browse选择刚刚生成的WebService.wsdl文件
5、点击finish,会创建5个java文件,不用理会,创建一个测试类WebServiceTest,如
package com;
import javax.xml.rpc.ServiceException;
import org.apache.axis.AxisFault;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
/**
* webservice客户端测试
* @author wanzhix
* 2015-11-27
*/
public class WebServiceTest {
private static final String url = "http://localhost:8080/WebService1/services/WebService?wsdl";
public static void main(String[] args) throws Exception {
System.out.println(getData("sayHi",new Object[]{"jeck!"}));
System.out.println("日期:"+getData("getToday",null));
System.out.println(getData("multiply",new Object[]{3.5,2.51}));
}
public static Object getData(String method,Object[] object){
Object result = "";
Service service = new Service();
Call call = null;
try {
call = (Call) service.createCall();
} catch (ServiceException e) {
e.printStackTrace();
}
//接口访问地址
call.setTargetEndpointAddress(url);
try {
//调用接口,传入接口名称和参数
result = call.invoke(method, object);
} catch (AxisFault e) {
e.printStackTrace();
}
return result;
}
}
6、运行后得到结果,表示调用成功!
以下是项目图