1、jdk版本要求:1.6以上 我所采用的是1.7
2、服务端代码编写:package webservice;
//引入的包
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService//注解不能丢
public class Hello {
public String sayHello(){ //服务端对外暴露的方法
return "hello webservice!";
}
public static void main(String[] args) {
Endpoint.publish("http://localhost:8888/Hello", new Hello()); //端口8888,本地发布服务
System.out.println("sevice published on port 8888!");
}
}
服务发布后控制台输出信息如下,说明正常发布:
打开浏览器访问服务端发布地址:http://localhost:8888/Hello,可以看到生成的wsdl:
3、客户端代码生成:进入cmd,命令格式为:
wsimport -s "客户端代码类存放路径" -p “生成类所在包名” -keep “wsdl发布地址”
出现如上信息,则说明客户端代码已生成。
4、客户端调用package test;
import client.Hello;
import client.HelloService;
public class ClientTest {
public static void main(String[] args) {
Hello hello = new HelloService().getHelloPort();
System.out.println(hello.sayHello());
}
}
执行后,控制台返回调用结果,说明服务调用成功。