webservice 概念+测试案例
webservice的概念?(一句话概括什么是WebService)
WebService是一种跨编程语言、跨操作系统平台的远程调用技术。远程调用技术:
远程调用是指一台设备上的程序A可以调用另一台设备上的方法B。比如:银联提供给商场的pos刷卡系统,商场的pos机转账调用的转账方法的代码其实是跑在银行服务器上的。再比如,amazon,天气预报系统,淘宝网,校内网,百度等把自己的系统服务以WebService服务的形式暴露出来,让第三方网站和程序可以调用这些服务功能,这样扩展了自己系统的市场占有率。
- 跨编程语言:是指服务端、客户端程序的编程语言可以不同
- 跨操作系统平台:是指服务端、客户端可在不同的操作系统上运行
- 从表面上看,WebService是指一个应用程序向外界暴露了一个能通过Web调用的API接口,我们把调用这个WebService的应用程序称作客户端,把提供这个WebService的应用程序称作服务端。
- 从深层上看,WebService是建立可互操作的分布式应用程序的新平台,是一个平台,是一套标准。它定义了应用程序如何通过Web实现互操作性,通过WebService标准对服务进行查询和访问。
===================================================================================================================================
为啥要使用webservice?
传统的socket,如上一篇socketserverr需要自己写数据的接收,数据的发送,数据的处理,数据的解析等等的信息;而webservice在开发的过程中同java开发一样,实现了对web socket的包装
1.测试目录

2.1 Server.java
package com.server;
import javax.xml.ws.Endpoint;
public class Server {
public static void main(String[] args) {
//发送webservice服务
//new WeatherInterfaceImpl()为实现类
//http://127.0.0.1:12345/weather http:id:端口/地址
//启动服务,浏览器端访问http://127.0.0.1:12345/weather?wsdl 会打开webservice的使用说明书
Endpoint.publish("http://127.0.0.1:12345/weather", new WeatherInterfaceImpl());
System.out.println("发布webservice服务");
}
}
2.2 WeatherIntrface.java
package com.server;
/**
* 天气查询服务接口
* @author xjj13
*
*/
public interface WeatherInterface {
//天气查询
public String queryWeather(String cityname);
}
2.3 WeatherIntrfaceImpl.java
package com.server;
import javax.jws.WebService;
/**
* 天气查询服务
* @author xjj13
*
*/
@WebService
public class WeatherInterfaceImpl implements WeatherInterface{
@Override
public String queryWeather(String cityname) {
//接受客户端发送过来的数据
System.out.println("from client..."+cityname);
String result="晴";
//向客户端返回天气查询结果
return result;
}
}
2.4服务端写好类后,启动服务,浏览器端访问http://127.0.0.1:12345/weather?wsdl 会打开webservice的使用说明书


访问url: http://127.0.0.1:12345/weather?xsd=1发现是自己写的方法

3.dos窗口进入下面目录 cd C:\java\02.eclipseWorkspace\01.test\webserviceweatherquery\src

执行如下命令:
wsimport -s . http://127.0.0.1:12345/weather?wsdl
就会生成下面红框圈注的内容

4.编写客户端 Client.java
package com.client;
import com.test.WeatherInterfaceImpl;
import com.test.WeatherInterfaceImplService;
/**
* webservice客户端
* @author xjj13
*
*/
public class Client {
public static void main(String[] args) {
//通过webservice的服务视图
WeatherInterfaceImplService weatherInterfaceImplService=new WeatherInterfaceImplService();
//通过视图得到服务端点
WeatherInterfaceImpl weatherInterfaceImpl=weatherInterfaceImplService.getWeatherInterfaceImplPort();
//可以通过服务端点调用webservice接口
//向服务端发送数据北京
String result=weatherInterfaceImpl.queryWeather("北京");
System.out.println("from server..."+result);
}
}
4.2启动客户端

webservice 概念+测试案例的更多相关文章
- webservice的测试案例
1.服务器端 服务器接口Test_service.java package com.xiaostudy; /** * @desc 服务器接口 * @author xiaostudy * */ publ ...
- Selenium(十四):自动化测试模型介绍、模块化驱动测试案例、数据驱动测试案例
1. 自动化测试模型介绍 随着自动化测试技术的发展,演化为了集中模型:线性测试.模块化驱动测试.数据驱动测试和关键字驱动测试. 下面分别介绍这几种自动化测试模型的特点. 1.1 线性测试 通过录制或编 ...
- Shiro 安全框架详解二(概念+权限案例实现)
Shiro 安全框架详解二 总结内容 一.登录认证 二.Shiro 授权 1. 概念 2. 授权流程图 三.基于 ini 的授权认证案例实现 1. 实现原理图 2. 实现代码 2.1 添加 maven ...
- js引出函数概念的案例
js引出函数概念的案例 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8&q ...
- Storm自带测试案例的运行
之前Storm安装之后,也知道了Storm的一些相关概念,那么怎么样才可以运行一个例子对Storm流式计算有一个感性的认识呢,那么下面来运行一个Storm安装目录自带的测试案例,我们的Storm安装在 ...
- 编写优美的GTest测试案例
http://www.cnblogs.com/coderzh/archive/2010/01/09/beautiful-testcase.html 使用gtest也有很长一段时间了,这期间也积累了一些 ...
- 使用Jmeter至WebService压力测试
使用Jmeter至WebService压力测试 目中我们使用了Jmeter对webservice进行了压力測试,Apache JMeter是Apache组织开发的基于Java的压力測试工具.用于对 ...
- nginx整合tomcat集群并做session共享----测试案例
最近出于好奇心,研究了一下tomcat集群配置,并整合nginx,实现负载均衡,session共享,写篇记录,防止遗忘.---------菜鸡的自我修炼. 说明:博主采用一个web项目同时部署到两台t ...
- robotframework+selenium搭配chrome浏览器,web测试案例(搭建篇)
这两天发布版本 做的事情有点多,都没有时间努力学习了,先给自己个差评,今天折腾了一天, 把robotframework 和 selenium 还有appnium 都研究了一下 ,大概有个谱,先说说we ...
随机推荐
- PyCharm Django 显示一个简单页面
1.创建项目及创建应用 如:创建一个名zqxt_tmpl的项目,创建一个 learn的应用 在(Terminal)中执行 django-admin.py startproject zqxt_tmpl ...
- PHP7有没有你们说的那么牛逼
男人不能快,但程序一定要快.PHP7到底快不快,我们拭目以待. PHP7来一发 PHP7正式发布到现在已经一年半了,刚出道就号称比旧版本快了几倍,各种开源框架或系统运行在PHP7上速度效率提高了几倍, ...
- SAS学习笔记19 SAS删除空格函数(left、right、trim、strip、compress、compbl函数)
- jira索引失败
""" # 参考:http://www.mamicode.com/info-detail-2369087.html jira断电重启后索引失败, 解决方法: 关闭jira ...
- Linux学习之如何让普通用户获得ROOT权限
https://blog.csdn.net/qq_41940950/article/details/81044594
- Android监听EditText输入字符串,删除指定的字符
alert_ed = (EditText) a.findViewById(R.id.alert_ed_queue_num); alert_ed.addTextChangedListener(mText ...
- solr 配置中文分析器/定义业务域/配置DataImport功能(测试用)
一.配置中文分析器 使用IKAnalyzer 配置方法: 1)把IK的jar包添加到solr工程中/WEB-INF/lib目录下 2)把IK的配置文件扩展词典, ...
- java 框架-分布式服务框架1ZooKeeper
https://www.cnblogs.com/felixzh/p/5869212.html Zookeeper的功能以及工作原理 1.ZooKeeper是什么?ZooKeeper是一个分布式的, ...
- logback日志详细解析
1.为什么使用logback 内核重写.测试充分.初始化内存加载更小,这一切让logback性能和log4j相比有诸多倍的提升 logback非常自然地直接实现了slf4j,方便理解 支持自动去除旧的 ...
- Python练习_文件操作_day8
1. 1.作业 1,有如下文件,a1.txt,里面的内容为: 老男孩是最好的学校, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: a,将原文件全部读出来并 ...