不需要别的jar包,直接用myeclipse创建web项目,有自带的javax.jws.WebService
很简单,第一步写一个接口:注意写上注解
package test.wervice;
import javax.jws.WebService;
@WebService
public interface HelloWorld {
void sayHi(String name);
}
第二步写上接口的实现类:注意写上注解
package test.wervice.impl;
import javax.jws.WebService;
import test.wervice.HelloWorld;
@WebService(endpointInterface=“test.wervice.HelloWorld”)
public class HelloWorldImpl implements HelloWorld{
public void sayHi(String name) {
System.out.println("helloWorld"+name);
}
}
第三步就可以发布你的这个webservice了,写一个发布类
package test.wervice;
import javax.xml.ws.Endpoint;
import test.wervice.impl.HelloWorldImpl;
public class serviceApp {
public static void main(String[] args){
System.out.println("start service");
Endpoint.publish("http://localhost:8080/helloWorld", new HelloWorldImpl());
System.out.println("end service");
}
}
这样运行main方法,你的webservice接口就算发布了,然后打开浏览器输入http://localhost:8080/helloWorld?wsdl即可
这样就完成了发布,要怎么调用呢?我是借用的cxf中的wsdl2java来生成的,具体步骤如下:
1、先下载cxf包 http://cxf.apache.org/download.html,现在cxf包。
2、解压缩包,通过cmd命令进入到bin目录下
3、使用wsdl2java命令生成客户端代码,执行如下命令
wsdl2java -p org.logink.ws -d f:\logink\src -all http://localhost:8080/helloWorld?wsdl
其中wsdl2java用法解释:
wsdl2java -p com -d src -all aa.wsdl
-p 指定其wsdl的命名空间,也就是要生成代码的包名:
-d 指定要产生代码所在目录
-client 生成客户端测试web service的代码
-server 生成服务器启动web service的代码
-impl 生成web service的实现代码
-ant 生成build.xml文件
-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.这个我不是很理解,反正后面就是wsdl这个地址
生成后最后从生成目录中找出代码,copy到你自己要用的地方,测试下Ok了