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!");
	}
}

服务发布后控制台输出信息如下,说明正常发布:

wKiom1i-Bc-DkXOqAAA96m3znlk440.jpg-wh_50

打开浏览器访问服务端发布地址:http://localhost:8888/Hello,可以看到生成的wsdl:

java 使用jdk开发简单的webservice_第1张图片


java 使用jdk开发简单的webservice_第2张图片


3、客户端代码生成:进入cmd,命令格式为:

wsimport -s "客户端代码类存放路径" -p “生成类所在包名” -keep “wsdl发布地址”

java 使用jdk开发简单的webservice_第3张图片

出现如上信息,则说明客户端代码已生成。

java 使用jdk开发简单的webservice_第4张图片


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());
	}

}

执行后,控制台返回调用结果,说明服务调用成功。

java 使用jdk开发简单的webservice_第5张图片