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对应客户端
IDEA的Service服务开启不显示端口号问题web依赖问题