博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WebService入门实例教程
阅读量:4980 次
发布时间:2019-06-12

本文共 1919 字,大约阅读时间需要 6 分钟。

什么是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/0210  * 使用@WebService注解标注实现类11  */12 @WebService13 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(终端)类发布webservice24         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

博客地址:

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

 

转载于:https://www.cnblogs.com/AlanLee/p/6933073.html

你可能感兴趣的文章
深入浅出 Java Concurrency (38): 并发总结 part 2 常见的并发场景[转]
查看>>
NYOJ 28(大数阶乘)
查看>>
[转载]先验分布 vs. 后验分布 vs. 似然估计
查看>>
Vmware Pro 12 上安装CentOS 7 64
查看>>
re模块及其方法
查看>>
java--02--动态代理
查看>>
[zz]晴天。
查看>>
4款基于html5 canvas充满想象力的重力特效
查看>>
idea Library XXXXXXXX has broken classes paths
查看>>
ural 1864
查看>>
WPF 之 后台设置Image的Souce
查看>>
SpringBoot简易搭建
查看>>
How to describe the wind sprial in computer system?
查看>>
其实你可以这样折腾java enum
查看>>
c++ bitset 操作
查看>>
Hadoop学习历程(二、配置)
查看>>
【翻译】自定义 UIViewController Transitions
查看>>
sql不同表相同的CID qty2替换qt1数量
查看>>
多线程备忘
查看>>
水波形图片切换
查看>>