使用java 自带的webservice
1:具有功能的类的写法---发布服务
@WebService
public class CarFactory {
public String car(String num){
switch(num){
case "鲁A1000":
return "宝马";
case "鲁A1001":
return "奔驰";
case "鲁A1002":
return "oooo";
default:
System.out.println(num);
return "没有此车";
}
}
public static void main(String[] args) {//
Endpoint.publish("http://localhost:8080/ws/service",
new CarFactory());
}
}
注释:
1:这个类里有个car方法,作用是根据车牌号查询对应的车型,那么外界怎样才可以使用我的方法呢?
具体做法:
1:把类加注释@WebService,--就可以让互联网的所有人使用
2:并书写一个方法,方法内容如下:Endpoint.publish("http://localhost:8080/ws/service", new CarFactory());
参数是:1:自定义路径 2:类的对象
运行这个的方法,等待调用者调用
----发布,只有这样发布了,别人才可使用
2:调用者的写法----调用服务
public class carclint {
public static void main(String[] args) {
CarFactoryService cfs=new CarFactoryService();
CarFactory cf=cfs.getCarFactoryPort();
String a=cf.car("lanxing");
System.out.println(a);
}
}
注释:1:调用者要知道开发者的自定义路径,在浏览器上运行这个路径可以得到另一个以 wsdl 结尾的路径--得到wsdl
2:运行cmd--在dos页面输入:wsimport http://localhost:8080/ws/service?wsdl----回车,解析wsdl得到相应的类
3:输入:(start.) ---得到相应的文件夹的位置,可以看到和项目名同名的文件夹,文件夹里是一些类,我们调用时要使用
4:输入:(jar cvf lanxing.jar ./文件夹名)-----将第三步 得到的文件夹打成夹包
5:将夹包导到自己的项目中,开始书写测试类
1、创建一个类的对象,这个类是夹包中以service结尾的
2、得到开发者的类的对象
3、通过得到的对象调用有功能的方法-----得到具体的功能,调用完毕
注意:整过过程不需要引入其他夹包,直接使用java的,jdk要高于1.6以上
2:main方法起来之后程序要一直起着,写的测试的方法才能测通