IDEA创建Web Service服务端和客户端

Posted KeSuns

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IDEA创建Web Service服务端和客户端相关的知识,希望对你有一定的参考价值。

1.  创建服务端

  第一步:File–>New–>Project;我这里使用原生JDK来开发Web Service Server服务,所以不勾选Generate Sample Server Code,意思是不使用Apache Axis,也不生成Apache Axis代码。选中Set up library later表示暂时不设置依赖包。

    

 

  第二步:输入项目名称

    

   

  项目结构如下:

    

 

    PublishWebService.java

 1 package com.suns.webservice.server;
 2 
 3 import com.suns.webservice.server.service.impl.HelloServiceImpl;
 4 
 5 import javax.xml.ws.Endpoint;
 6 
 7 
 8 public class PublishWebService {
 9 
10     public static void main(String[] args) {
11         String adress = "http://127.0.0.1:8080/webservice/sayHello";
12         Endpoint.publish(adress, new HelloServiceImpl());
13         System.out.println("web service服务端发布成功");
14     }
15 }

 

  HelloService.java

 1 package com.suns.webservice.server.service;
 2 
 3 import javax.jws.WebMethod;
 4 import javax.jws.WebService;
 5 
 6 @WebService
 7 public interface HelloService {
 8     @WebMethod
 9     String sayHello(String name);
10 }

 

  HelloServiceImpl.java

 1 package com.suns.webservice.server.service.impl;
 2 
 3 import com.suns.webservice.server.service.HelloService;
 4 
 5 import javax.jws.WebService;
 6 
 7 @WebService
 8 public class HelloServiceImpl implements HelloService {
 9     @Override
10     public String sayHello(String name) {
11         System.out.println("server sayHello()" + name);
12         return "Hello" + name;
13     }
14 }

 

  运行PublishWebService中main函数,发现web service服务正常持续运行

 

  访问http://127.0.0.1:8080/webservice/sayHello?wsdl获取wsdl文件,把wsdl文件导入到SoapUI,访问web service服务。结果如下:

 

 2. 创建web service客户端

  第一步:File–>New–>Project;我这里使用原生JDK来开发Web Service Client服务,所以不勾选Generate Sample Server Code,意思是不使用Apache Axis,也不生成Apache Axis代码。选中Set up library later表示暂时不设置依赖包。

  

 

  第二步:输入项目名称

  

  

  项目结构如下:

    

  

  使用IDEA自带CMD功能进入到src,通过JDK自带wsimport功能来生成客户端代码

D:\\Workspace\\IDEA\\web-service-client\\src>wsimport -keep http://127.0.0.1:8080/webservice/sayHello?wsdl

 

  新建WebServiceClient.java文件来访问服务端代码

 1 package com.suns.webservice.client;
 2 
 3 import com.suns.webservice.server.service.impl.HelloServiceImplService;
 4 import com.suns.webservice.server.service.impl.HelloServiceImpl;
 5 
 6 public class WebServiceClient {
 7     public static void main(String[] args) {
 8         HelloServiceImplService factory = new HelloServiceImplService();
 9         HelloServiceImpl helloServiceImplPort = factory.getHelloServiceImplPort();
10         String response = helloServiceImplPort.sayHello("suns");
11         System.out.println(response);
12     }
13 }

 

  服务端测试结果:能正常收到客户端传过来suns,并打印

 

  客户端测试结果:能正常收到服务端返回的结果并打印

 

 

 

  

 

以上是关于IDEA创建Web Service服务端和客户端的主要内容,如果未能解决你的问题,请参考以下文章

Linux下用gSOAP开发Web Service服务端和客户端程序

如何用WSDL4J构建Spring+AXIS自动创建的Web service对应客户端

node web模块 (服务器端和客户端)

IDEA的Service服务开启不显示端口号问题web依赖问题

IDEA的Service服务开启不显示端口号问题web依赖问题

BIO编程