WebService的一种简单应用方式入门
1、什么是WebService?
WebService即Web服务,简单来讲,他就是一种跨编程语言和跨操作平台的远程调用技术。
2、Web服务:
Web服务是基于HTTP和XML的技术;HTTP是互联网应用最广泛的一种网络协议,XML是跨平台的基础。
跨平台和跨编程语言:服务端程序可以用java语言编写,而客户端可以用别的语言编写。反过来也成立!跨平台指的是服务端和客户端程序可以在不同的操作系统上运行。
远程调用:指的是一台计算机上的程序可以调用另外一台计算机上的方法。
3、WebService三大要素:
SOAP(Simple Object Access Protocol):简易的对象访问协议,用来描述传递信息的格式。
WSDL(WebServices Description Language):Web服务描述语言,用来描述如何访问具体接口。
UDDI(Universal Description Discovery and Integration):通用描述、发现及整合,用来管理、分发、查询webService。
4、SOAP、HTTP、TCP/IP之间的关系:

5、实例:
在Eclipse中,建立一个Web项目(不一定是web项目,java项目也可以),在其下建立一个类,这是我的包名和类名。

在类中写一个打招呼的方法,然后发布该服务端,如下;

打开浏览器,输入http://localhost:8087/Service/SayHello?wsdl,看到了一个xml文档:

上述的xml文档地址就是接下来要建立client中所要用到的。
接下来,在eclipse中再建立一个web项目(不一定是web项目,java项目也可以)。之后在这个项目中新建一个Web Service Client。



Finish。客户端项目目录如下:

建立测试类,此时,此前的服务端的tomcat不能停止运行,否则无效。

右键运行代码,看到控制台打印出打招呼方法的返回信息:

如上,一个简单的webservice实现方式就完成了。当然,还用很多种方式实现webservice,不止这一种。
WebService的一种简单应用方式入门的更多相关文章
- activiti复盘重推的一种简单实现方式:
activiti复盘重推的一种简单实现方式: 设置流程的每一步让用户选择,比如一共有6步完成,用户选择从第4步开始复盘重推,那么把原来的推演oldId和4传到后台, 首先,后台生成一个新的推演id n ...
- Druid数据库连接池两种简单使用方式
阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好 简单使用介绍 Druid与其他数据库连接池使用方法基本一样(与DBCP非常相似),将数据库的连接信息全部 ...
- Android: 自定义Tab样式,一种简单的方式。
之前看到过论坛里已经有人发过自定义Tab样式的帖子,感觉有些复杂了,这里分享个简单的方法. 1.制作4个9patch的tab样式,可参考android默认的资源 tab_unselected.9.pn ...
- java倒计时三种简单实现方式
写完js倒计时,突然想用java实现倒计时,写了三种实现方式 一:设置时长的倒计时: 二:设置时间戳的倒计时: 三:使用java.util.Timer类实现的时间戳倒计时 代码如下: package ...
- webservice常用两种身份验证方式
在项目开发,我们经常会使用WebService,但在使用WebService时我们经常会考虑以下问题:怎么防止别人访问我的WebService?从哪里引用我的WebService?对于第一个问题,就涉 ...
- Golang切片的三种简单使用方式及区别
概念 切片(slice)是建立在数组之上的更方便,更灵活,更强大的数据结构.切片并不存储任何元素而只是对现有数组的引用. 三种方式及细节案例 ①定义一个切片,然后让切片去引用一个已经创建好的数组 pa ...
- C#,一种简单的方式实现滚动鼠标缩放图片,平移
1.缩放 private void ImageShow_Load(object sender, EventArgs e) { pictureBox1.Load(@"E:\SQ1.jpg&qu ...
- Qt实现软件自动更新的一种简单方法
前言 最近在学习Qt开发上位机,想实现一个检查更新的功能,网上搜索了一大圈,发现实现过程都很复杂,关键是代码看不懂,所以就自己开发一种简单的方式来实现.实现效果如下: 点击"检查更新&quo ...
- SSM/SSH框架的MySQL 读写分离实现的一种简单方法
简介 MySQL已经是使用最为广泛的一种数据库,往往实际使用过程中,为实现高可用及高性能,项目会采用主丛复制的方式实现读写分离.MySQL本身支持复制,通过简单的配置即可实现一主多从的配置,具体实现可 ...
随机推荐
- php算法,冒泡排序
冒泡排序 /*** *从小到大排列 * 逻辑分析 假设数组 $arr=[a,b,c,d]; * 总数=4; * 比较对象 第几个元素 比较次数 * a 1 3 * b 2 2 * c 3 1 **/ ...
- 2.7 UML状态图
问题的引出 顺序图是对对象的动态行为进行建模,有多个对象的参与.协作 问题: 当需要考察单个实体的动态行为时, 用UML如何来建模呢? 什么是单个实体:一个软件系统?一个子系统?一个模块.一个构件? ...
- 树莓派 CSI摄像头 No data received from sensor. Check all connections, including the Sunny one on the camera board
不知道为什么摄像头在包里放了两天旧坏了,中间完全没用过摄像头的功能,查了资料,原因大概有两种 1)sunny烧了 2)试摄像头传感器坏了 这两天没有插拔过摄像头,可能是树莓派漏电了,也可能是它被压坏了 ...
- Python安装第三方库,报错超时: Read timed out.
1.安装beautifulsoup4 >pip install beautifulsoup4 报错超时: Read timed out. 2.解决办法:pip --default-timeout ...
- Leetcode 1003. 检查替换后的词是否有效
1003. 检查替换后的词是否有效 显示英文描述 我的提交返回竞赛 用户通过次数245 用户尝试次数273 通过次数249 提交次数500 题目难度Medium 给定有效字符串 "ab ...
- call、apply、bind三者的区别
先构造函数let xiaowang={ name1:"小王", age:", sex:"男", say:function(){ console.log ...
- Lucene.Net 学习(搜索部分)(低要求,写给自己看)
1. 搜索 排序:lucene 提供了Sort类对结果进行排序 提供了Filter类对查询条件进行限制 你或许会不自觉地拿它跟SQL语句进行比较:“lucene能执行and.or.order by.w ...
- node.js项目多环境配置
配置多种场景 我们的系统是要在不同的环境下运行的,不同的环境可能是不同的端口号,不同的数据库地址,数据库用户和密码, 并且可能有的需要自动重启有的不需要自动重启. 我们在有一个配置的时候是无法满足这么 ...
- QPainter、QPainterPath、QBrush
参考资料: https://blog.csdn.net/qq_35488967/article/details/70802973https://blog.csdn.net/wanghualin033/ ...
- WeRun is mini-app
WeRun is a mini-app within WeChat that allows users to monitor their daily step count. One of its mo ...