jdk实现webservice很简单,一个类就能实现了。代码如下:
@WebService
public class TestWebService {
@WebMethod
public String test(String name) {
return "test " + name + " !";
}
public static void main(String[] args) {
TestWebService service = new TestWebService();
Endpoint endpoint = Endpoint.publish("http://localhost:8080/test",
service);
}
// 通过http://localhost:8080/test?wsdl可以访问
}
直接运行上面的类,访问http://localhost:8080/test?wsdl就可以显示wsdl文件内容。最上面显示的是什么版本的jdk发布的。如下:
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. -->
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. -->
@webservice和@webmethod是javax.jws.*包下的类,看名字就知道它要做什么了。
调用的方式很多,以前写的博客有这介绍,我一般喜欢生成java类调用。
// 生成java类,使用
wsimport -p 包名 -keep http://localhost:8080/test?wsdl
利用以上命令可以生成对应的java类,这样用起来更直观。