初识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" ...
随机推荐
- 每天一个linux命令(31): /etc/group文件详解
Linux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件.linux /etc/group文件是有关于系统管理员对用户 ...
- [html]三列居中自动伸缩的结构
html三列居中自动伸缩的结构 <div style="width:100%;height:80px;border:1px solid #DDD;margin-bottom:10px; ...
- JQuery uploadify 的使用
在Java WEB项目中用到了上传图片的功能,于是百度了一下,发现 uploadify 的出镜率很高,于是决定使用这个插件.结果昨天调试了一天没有成功,今天早上仔细想了想,觉得应该是调用js文件的原因 ...
- SSIS 对数据排序
SSIS 对数据排序有两种方式,一种是使用Sort组件,一种是使用sql command的order by clause进行排序. 一,使用Sort组件进行排序 SortType:升序 ascendi ...
- KlayGE 4.4中渲染的改进(一):只需要SM3的TBDR
转载请注明出处为KlayGE游戏引擎,本文的永久链接为http://www.klayge.org/?p=2736 KlayGE从4.0开始引入deferred rendering层(DR),并且这几个 ...
- jxl写入excel实现数据导出功能
@RequestMapping(params = "method=export", method = RequestMethod.GET) public void exportCo ...
- java中泛型上限,下限应用
v 一.程序中无形之中用到的泛型 import java.util.*; class Person implements Comparable<Person>{ String name; ...
- java中并不是任意多个接口都可以实现多实现
interface A{ public abstract void show(); } interface B{ public abstract int show(); } public class ...
- Linux 内存管理
查看Linux内存使用情况 free -m Linux内存清理:绝大多数情况下都不需要此操作,因为cache的内存在需要的时候是可以自动释放的- 最好先sync几次,再清理内存,有下面三个级别,数值越 ...
- 【知识积累】JavaMail实现发邮件功能
一.前言 今天闲来没事,想着通过程序来给别人发邮件.于是,上网搜了一下,相应的资料也很多,刚开始完成了邮件的简单发送,后来想如何能发送附件,继续寻找 答案,但是遇到了一个问题是当我使用txt类型作为附 ...