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方法来发布服务并提供发布的地址以及发布的服务类,代码如下:
package com.jspweb.ws; import javax.jws.WebService;
import javax.xml.ws.Endpoint; /**
* WebService服务端案例
* @author AlanLee
* @version 2017/06/02
* 使用@WebService注解标注实现类
*/
@WebService
public class Function {
public String transWords(String words){
String res = "";
for(char ch : words.toCharArray()){
res += ch+",";
}
return res;
} public static void main(String[] args) {
// 使用Endpoint(终端)类发布webservice
Endpoint.publish("http://localhost:8089/service/function", new Function());
System.out.println("Publish Success");
}
}
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
本文出自博客园,欢迎大家加入博客园。
WebService入门实例教程的更多相关文章
- React 入门实例教程(转载)
本人转载自: React 入门实例教程
- Omnet++ 4.0 入门实例教程
http://blog.sina.com.cn/s/blog_8a2bb17d01018npf.html 在网上找到的一个讲解omnet++的实例, 是4.0下面实现的. 我在4.2上试了试,可以用. ...
- let import export React入门实例教程 connect provider combineReducers 箭头函数 30分钟掌握ES6/ES2015核心内容 Rest babel
let与var的区别 http://www.cnblogs.com/snandy/archive/2015/05/10/4485832.html es6 导入导出 http://www.csdn.ne ...
- Java WebService入门实例
Web Services是由企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务. Web Service的关键技术和规则: 1.XML:描述 ...
- React 入门实例教程
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
- Facebook React.js库 入门实例教程
作者: 阮一峰 日期: 2015年3月31日 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩 ...
- 2015年最热门前端框架React 入门实例教程
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
- React入门实例教程
文章转自:阮一峰 现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React ...
- React 入门实例教程(转载)
现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...
随机推荐
- 通过一个小游戏开始接触Python!
之前就一直嚷嚷着要找视频看学习Python,可是一直拖到今晚才开始....好好加油吧骚年,坚持不一定就能有好的结果,但是不坚持就一定是不好的!! 看着视频学习1: 首先,打开IDLE,在IDLE中新建 ...
- Spark源码分析之分区器的作用
最近因为手抖,在Spark中给自己挖了一个数据倾斜的坑.为了解决这个问题,顺便研究了下Spark分区器的原理,趁着周末加班总结一下~ 先说说数据倾斜 数据倾斜是指Spark中的RDD在计算的时候,每个 ...
- 类似智能购票的demo--进入页面后默认焦点在第一个输入框,输入内容、回车、right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个。
要实现的效果:进入页面后默认焦点在第一个输入框,输入内容.回车.right时焦点自动跳到下一个,当跳到select时,下拉选项自动弹出,并且可以按上下键选择,选择完成后再跳到下一个. PS:自己模拟的 ...
- 在Oracle中添加用户登录名称
第一步,打开Oracle客户端单击 “帮助”-->"支持信息"-->”TNS名“,加入红色部分.页面如下: 第二步,再次打开Oracle客户端时,就会显示数据库了,只需 ...
- Linux--shell脚本之文本处理工具
文本处理工具--grep.sed.awk Bash Shell提供了功能强大的文件处理工具:sed(流编辑器stream editor)和awk,都可使用正则表达式进行模式匹配. 而grep又有助于理 ...
- bootstrap loadStep流程节点动态显示
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- 使用AF_INET实现点对点的通信示例
作者:Younger Liu,本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. 1. 客户端(发送方) 操作流如下: (1) 使用AF_INET协议簇, ...
- git 利用分支概念实现一个仓库管理两个项目
需求描述:开发了一个网站,上线之际,突然另一个客户说也想要个一样的网站,但网站的logo和内部展示图片需要替换一下,也就是说大部分的后台业务逻辑代码都是一致的,以后升级时功能也要保持一致:刚开始想反正 ...
- 【算法系列学习】[kuangbin带你飞]专题二 搜索进阶 D - Escape (BFS)
Escape 参考:http://blog.csdn.net/libin56842/article/details/41909459 [题意]: 一个人从(0,0)跑到(n,m),只有k点能量,一秒消 ...
- jquery获取文件名称
$("#fileupload").on("change",function(){ var filePath=$(this).val(); if(filePath ...