WebService入门实例教程

什么是WebService

 

通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,它是基于Web的服务,通过Web进行发布、查找和使用。

WebService脚本平台需支持XML+HTTP。

HTTP协议是最常用的因特网协议。

XML提供了一种可用于不同的平台和编程语言之间的语言。

 

为什么要使用WebService

 

最重要的事情是协同工作。

1.跨平台调用(WebService不局限于操作系统,你可以在Windows上调用linux上的WebService服务,反之亦然,其他系统同理);

2.跨语言调用(WebService不局限于编程语言,你可以在Java语言中调用C#语言提供的WebService服务,反之亦然,其他语言同理);

3.可远程调用(通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,只要有Internet)。

 

使用JDK开发WebService

 

一.WebService服务端开发

1.创建服务端项目,项目可以是Java Web项目,也可以是普通的Java项目,例如:

2.在源代码目录src下面的包中新建一个java类用来提供WebService服务,我这里创建了一个Function类,通过javax.jws.WebService注解提供服务,通过javax.xml.ws.Endpoint类的publish方法来发布服务并提供发布的地址以及发布的服务类,代码如下:

 1 package com.jspweb.ws;
 2 
 3 import javax.jws.WebService;
 4 import javax.xml.ws.Endpoint;
 5 
 6 /**
 7  * WebService服务端案例
 8  * @author AlanLee
 9  * @version 2017/06/02
10  * 使用@WebService注解标注实现类
11  */
12 @WebService
13 public class Function {
14     public String transWords(String words){
15         String res = "";
16         for(char ch : words.toCharArray()){
17             res += ch+",";
18         }
19         return res;
20     }
21     
22     public static void main(String[] args) {
23         // 使用Endpoint(终端)类发布webservice
24         Endpoint.publish("http://localhost:8089/service/function", new Function());
25         System.out.println("Publish Success");
26     }
27 }

3.启动main方法运行这个类,打印出结果Publish Success,表示服务发布成功:

4.打开浏览器,访问我们发布的地址,大家可以看到这样的效果:

 

 5.点击WSDL后面的连接地址便可以打开WSDL配置,访问结果如下:

WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。

 

二、WebService客户端开发

1.创建客户端项目,项目可以是Java Web项目,也可以是普通的Java项目,例如:

2.使用eclipse工具生成客户端代码,跟着图一步步操作:

①选中项目点击鼠标右键new>Other...:

②在Wizards框中输入web,选择Web Service Client,点击next按钮:

③输入WSDL服务描述文件的访问地址,点击next:

④点击Finish按钮,eclipse会自动帮我们在src目录下生成WebService客户端所需的代码:

⑤:生成的代码如下:

2.编写客户端测试类代码,我在同级目录下面写了一个测试类,并运行它的main方法,得到结果如下:

 

这样一个简单的WebService入门实例就完成了。

 

结束语:菩提本无树,明镜亦非台。本来无一物,何处惹尘埃!

 

可爱博主:AlanLee

博客地址:http://www.cnblogs.com/AlanLee

本文出自博客园,欢迎大家加入博客园。

 

posted @ 2017-06-02 14:14  AlanLee-Java  阅读(57611)  评论(16编辑  收藏  举报