实现

搭建服务端

打开Eclipse新建 Java project,在src下新建包com.badao.ws

包下新建接口HellloWS.java

package com.badao.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;

/***
 *  SEI
 * @author: badao
 * @Description:
 * @Time:2019年5月6日 上午8:48:10
 */
@WebService
public interface HelloWS {

 @WebMethod
 public String sayHello(String name);
}

注:

SEI以及SEI的实现类要加注解@WebService

SEI中的所有方法要加注解 @WebMethod

新建接口实现HelloWSImpl.java

package com.badao.ws;

import javax.jws.WebService;

@WebService
public class HelloWSImpl implements HelloWS {


 public String sayHello(String name) {
  System.out.println("服务端接受到信息为:"+name);
  return "Hello"+name;
 }

}

发布Web Service

包下新建类ServerTest.java

package com.badao.ws;

import javax.xml.ws.Endpoint;

/***
 * 发布Webservice
 * @author: badao
 * @Description:
 * @Time:2019年5月6日 上午8:52:35
 */
public class ServerTest {
 public static void main(String[] args) {
  String address = "http://127.0.0.1:9999/JDKTest/hellows";
  Endpoint.publish(address, new HelloWSImpl());
  System.out.println("发布webservice成功");
 }
}

注:

使用Endpoint的publish方法发布Webservice,其中address是对外开放的address

中间是IP加端口号,后面路径随意,一般是项目名加方法名。

运行main方法启动服务端。

启动成功后,打开浏览器输入:

http://127.0.0.1:9999/JDKTest/hellows?wsdl

Webservice入门教程_用JDK开发Webservice_java

搭建客户端

新建java project

这里使用JDK自带的wsimport来根据wsdl生成实体类代码。

wsimport.exe的位置在JDK安装目录下的bin下

Webservice入门教程_用JDK开发Webservice_服务端_02

打开cmd,输入wsimport验证是否已经配置进环境变量。

来到客户端项目的真实目录下的src目录下,在此处打开命令行。

输入:

wsimport -keep http://127.0.0.1:9999/JDKTest/hellows?wsdl

运行结果

Webservice入门教程_用JDK开发Webservice_客户端_03

此时来到Eclipse下刷新下客户端项目。

Webservice入门教程_用JDK开发Webservice_服务端_04

测试客户端请求

在项目下新建ClientTest.java

package com.badao.ws.client;

import com.badao.ws.HelloWSImpl;
import com.badao.ws.HelloWSImplService;

/***
 * 调用webservice
 * @author: badao
 * @Description:
 * @Time:2019年5月6日 上午10:51:07
 */
public class ClientTest {

 public static void main(String[] args) {
  HelloWSImplService factory = new HelloWSImplService();
  HelloWSImpl helloWSImpl = factory.getHelloWSImplPort();
  String result = helloWSImpl.sayHello("霸道");
  System.out.println("webservice返回的结果为:"+result);
  
 }
}

运行结果

运行客户端的main方法

客户端效果:

Webservice入门教程_用JDK开发Webservice_客户端_05

然后查看服务端效果:

Webservice入门教程_用JDK开发Webservice_java_06