初识Web 服务(即Web Service)
一、什么是Web服务
简单来说就是在Internet上提供的这种服务,我们称这种服务为Web服务。
二、Web服务的主要目标?
是支持跨平台的可互操作性。
三、Web服务的优势

四、Web服务提供了一系列标准,定义了应用在Web上机进行互操作的规范,因此,Web服务的3个核心操作都是基于这些规范完成的。
三要素:
WSDL:WebService Description Language ---Web服务描述语言。
通过xml形式说明服务在什么地方----地址。
通过xml形式说明服务提供什么样的方法---如何调用。
SOAP:Simple Object Access Protocol 简单对象访问协议
SOAP作为一个基于XML语言的协议用于网上传输数据
SOAP=HTTP基础+XML数据。
UDDI: Universal Description Discovery and Integration统一描述发现和集称协议。
五、使用JAX-WS发布服务
要发布一个Web服务供第三方使用,我们通过JAX-WS来完成实现查看天气。
1、定义一个实体
package cn.yxj.publishEntity; import java.util.Date; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name="TemperatureInfo")
public class TemperatureInfo { public TemperatureInfo() {
}
public TemperatureInfo(String city, Date date, int min, int max,
int average, String desc) {
this.city = city;
this.date = date;
this.min = min;
this.max = max;
this.average = average;
this.desc = desc;
}
private String city;//城市
private Date date;//日期
private int min;//最低温度
private int max;//最高温度
private int average;//平均温度
private String desc;//描述 public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public int getMin() {
return min;
}
public void setMin(int min) {
this.min = min;
}
public int getMax() {
return max;
}
public void setMax(int max) {
this.max = max;
}
public int getAverage() {
return average;
}
public void setAverage(int average) {
this.average = average;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}
2、设计并实现服务接口。
package cn.yxj.publish;
import java.util.Date;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
import cn.yxj.publishEntity.TemperatureInfo; /**
* 发布的天气接口
* @author
*
*/
@WebService(targetNamespace="http://www.bdqn.cn/ws/weather")
public interface WeatherService {
@WebMethod
List<TemperatureInfo> getWeathers(String city,List<Date> dates);
}
3、定义一个实现类来实现接口
package cn.yxj.publish.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
import cn.yxj.publish.WeatherService;
import cn.yxj.publishEntity.TemperatureInfo;
@WebService(targetNamespace="http://www.bdqn.cn/ws/weather")
public class WeatherServiceImpl implements WeatherService{
@WebMethod
public List<TemperatureInfo> getWeathers(String city, List<Date> dates) {
List<TemperatureInfo> list=new ArrayList<TemperatureInfo>();
for (Date date : dates) {
list.add(getTemperature(city, date));
}
return list;
} @WebMethod(exclude=true)
public TemperatureInfo getTemperature(String city,Date date){
return new TemperatureInfo(city,date,,,,"晴");
} }
4、发布天气的服务
package cn.yxj.server; import javax.xml.ws.Endpoint; import cn.yxj.publish.impl.WeatherServiceImpl;
public class Server {
protected Server() throws Exception{
System.out.println("启动服务....");
//定义服务实现类
WeatherServiceImpl weatherServiceImpl=new WeatherServiceImpl();
//定义服务发布网址
/*String address="http://localhost:8084/WeatherService";*/
String address="http://192.168.15.40:8084/WeatherService";//让别人访问自己的web
//发布服务
Endpoint.publish(address, weatherServiceImpl);
} public static void main(String[] args) throws Exception {
new Server();
System.out.println("服务准备就绪......");
Thread.sleep(**);
System.out.println("服务退出......");
System.exit();//关闭服务器
//System.out.println(http://localhost:8084/WeatherService?xsd=1);
}
}
简单的列子带大家配置Web Service 的服务。
初识Web 服务(即Web Service)的更多相关文章
- 【转】简述什么是Web服务(Web Service)技术?
Web Service 是在 Internet 上进行分布式计算的基本构造块,是组件对象技术在 Internet 中的延伸,是一种部署在Web 上的组件.它融合了以组件为基础的开发模式和 ...
- Web服务(Web Service)相关概念
1.概述 Web服务技术(Web Service )是一种面向服务的架构技术,通过标准的Web协议提供服务,保证不同平台的应用服务能够互相操作. 因为Web服务公布的数据基于XML格式和 SOAP协议 ...
- Python flask 基于 Flask 提供 RESTful Web 服务
转载自 http://python.jobbole.com/87118/ 什么是 REST REST 全称是 Representational State Transfer,翻译成中文是『表现层状态转 ...
- 使用 ServiceStack 构建跨平台 Web 服务
本文主要来自MSDN杂志<Building Cross-Platform Web Services with ServiceStack>,Windows Communication Fou ...
- SOAP Web 服务介绍
已经跨入 2015 年,当今最为常见的两种 Web 服务类型分别是: REST 和 SOAP .不过,从趋势来看,越来越多人已经开始使用 REST 风格的 Web 服务.而 SOAP 大多也开始或已经 ...
- WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)
转:http://msdn.microsoft.com/zh-cn/library/gg318615.aspx 摘要:通过此系列文章(共四部分)了解如何在 Microsoft SharePoint F ...
- Webservices-1.web服务定义简介
一.WEB服务定义(摘自维基百科)详情:http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1 Web服务是一种服务导向架构的技术,通过标准的Web协议提 ...
- 用TLS实现安全TCP传输及配置和访问https的web服务(转)
tls相关 大致原理 为了让两个之间实现安全传输,(我们把服务端统一叫做TcpServer,客户端统一叫做TcpClient),TcpServer在listen完了accept之后要用一个证书来声明自 ...
- Azure机器学习入门(四)模型发布为Web服务
接Azure机器学习(三)创建Azure机器学习实验,下一步便是真正地将Azure机器学习的预测模型发布为Web服务.要启用Web服务发布任务,首先点击底端导航栏的运行即"Run" ...
随机推荐
- android 权限大全
教程 博客 淘帖 论坛›eoe·Android开发资源区›Android开发实例教程 191507 12 / 2 页下一页 android 权限大全 『癲瘋霸気』 于 2013-4-3 10: ...
- lufylegend游戏引擎
lufylegend游戏引擎介绍:click 这个链接我觉得已经很详细的介绍了这个引擎. 所以以下我只说说一些简单的游戏代码过程. 首先从canvas做游戏叙述起: 这是一个让人很熟悉的简单小游戏,网 ...
- Win10下PB停在欢迎窗口界面
问题:Win10下不能打开PB12.5,PB12.6,一直停在欢迎窗口界面. 解决方法:把服务"Touch Keyboard and Handwriting Panel Service&qu ...
- Warning: Null value is eliminated by an aggregate or other SET operation.
Null 值会被聚合函数忽略,默认情况下,Sql Server会给出Warning: Warning: Null value is eliminated by an aggregate or othe ...
- (转)Shell函数
Shell函数类似于Shell脚本,里面存放了一系列的指令,不过Shell的函数存在于内存,而不是硬盘文件,所以速度很快,另外,Shell还能对函数进行预处理,所以函数的启动比脚本更快. 1. 函数 ...
- Python编码问题整理
认识常见编码 GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码 GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名 cp936:中文本地系统是 ...
- 补充$.extend()
这里多谢某童鞋的提醒!说我的上篇随笔jquery插件开发的方式一还还可用于合并参数和深clone,虽然方式二中用了方式一做参数合并,但并未详细介绍,所以今天在此处做点补充! 一.合并参数 jquery ...
- 只用一行代码让你的ASP.NET MVC 跑起来
只用一行代码让你的ASP.NET MVC 跑起来 MVC框架一直是企业开发绕不过去的东西,先是JavaEE的 Structs, 然后是 Spring MVC, 再到我们今天要讨论的ASP.NET MV ...
- SQL--分页查询
SELECT * FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY EmployeeID DESC ) AS Rownumber , ...
- SQL--语句的执行顺序