初识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" ...
随机推荐
- javascript_core_02之函数、作用域
1.函数:封装一项任务步骤清单的代码段: ①声明:function 函数名(参数列表){ 步骤清单代码:return 返回值:} ②返回值:使调用者获得函数执行结果,return只返回,不保存: ③存 ...
- linux命令 - alias
linux命令 - alias 为自己的常用命令语句指定别名,快捷方式 $ alias /? Usage: alias [/reload] [/d] [name=full command] /relo ...
- Jasmine入门(上)
什么是Jasmine Jasmine是一个Javascript的BDD(Behavior-Driven Development)测试框架,不依赖任何其他框架. 如何使用Jasmine 从Github上 ...
- wangEditor——轻量级web富文本框
提示:最新版wangEditor请参见 http://www.wangeditor.com/ 和 https://github.com/wangfupeng1988/wangEditor 交流 ...
- CSS层叠
前面的话 层叠样式表CSS最基本的一个特性就是层叠.冲突的声明通过层叠进行排序,由此确定最终的文档表示.而这个过程的核心就是选择器及其相关声明的特殊性.重要性.来源及继承机制.本文将详细介绍CSS层叠 ...
- javase基础复习攻略《九》
本篇将为大家总结JAVA中的线程机制,谈到线程,大家一定会问线程和进程有什么区别?刚接触进程时我也有这样的疑问,今天就为大家简单介绍一下进程和线程.进程(Process)是计算机中的程序关于某数据集合 ...
- spring aop源码实现分析
1. 先分析Advice before执行Cglib2AopProxy的intercept方法: /** * General purpose AOP callback. Used when the t ...
- Mysql在高并发情况下,防止库存超卖而小于0的解决方案
背景: 本人上次做申领campaign的PHP后台时,因为项目上线后某些时段同时申领的人过多,导致一些专柜的存货为负数(<0),还好并发量不是特别大,只存在于小部分专柜而且一般都是-1的状况,没 ...
- TCP与UDP在socket编程中的区别
一.TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UD ...
- Windows Azure Web Site (1) 用户手册
<Windows Azure Platform 系列文章目录> 下载地址: Web Apps用户手册