一、什么是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)的更多相关文章

  1. 【转】简述什么是Web服务(Web Service)技术?

          Web Service 是在 Internet 上进行分布式计算的基本构造块,是组件对象技术在 Internet 中的延伸,是一种部署在Web 上的组件.它融合了以组件为基础的开发模式和 ...

  2. Web服务(Web Service)相关概念

    1.概述 Web服务技术(Web Service )是一种面向服务的架构技术,通过标准的Web协议提供服务,保证不同平台的应用服务能够互相操作. 因为Web服务公布的数据基于XML格式和 SOAP协议 ...

  3. Python flask 基于 Flask 提供 RESTful Web 服务

    转载自 http://python.jobbole.com/87118/ 什么是 REST REST 全称是 Representational State Transfer,翻译成中文是『表现层状态转 ...

  4. 使用 ServiceStack 构建跨平台 Web 服务

    本文主要来自MSDN杂志<Building Cross-Platform Web Services with ServiceStack>,Windows Communication Fou ...

  5. SOAP Web 服务介绍

    已经跨入 2015 年,当今最为常见的两种 Web 服务类型分别是: REST 和 SOAP .不过,从趋势来看,越来越多人已经开始使用 REST 风格的 Web 服务.而 SOAP 大多也开始或已经 ...

  6. WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)

    转:http://msdn.microsoft.com/zh-cn/library/gg318615.aspx 摘要:通过此系列文章(共四部分)了解如何在 Microsoft SharePoint F ...

  7. Webservices-1.web服务定义简介

    一.WEB服务定义(摘自维基百科)详情:http://zh.wikipedia.org/wiki/Web%E6%9C%8D%E5%8A%A1 Web服务是一种服务导向架构的技术,通过标准的Web协议提 ...

  8. 用TLS实现安全TCP传输及配置和访问https的web服务(转)

    tls相关 大致原理 为了让两个之间实现安全传输,(我们把服务端统一叫做TcpServer,客户端统一叫做TcpClient),TcpServer在listen完了accept之后要用一个证书来声明自 ...

  9. Azure机器学习入门(四)模型发布为Web服务

    接Azure机器学习(三)创建Azure机器学习实验,下一步便是真正地将Azure机器学习的预测模型发布为Web服务.要启用Web服务发布任务,首先点击底端导航栏的运行即"Run" ...

随机推荐

  1. 国内常用的三种框架:ionic/mui/framework7对比

    国内常用的三种框架:ionic/mui/framework7对比 原文连接:http://zhihu.com/question/19558750/answer/91179040

  2. Python魔法 - MetaClass

    Python魔法 - MetaClass metaclass The class of a class. Class definitions create a class name, a class ...

  3. Android入门(三)Activity-生命周期与启动模式

    原文链接:http://www.orlion.ga/432/ 一.活动的生命周期 1.返回栈 Android中的活动是可以重叠的,我们每启动一个新的活动,就会覆盖在原活动之上,然后点击Back键会销毁 ...

  4. iis https 客户端证书

    1.自建根证书 makecert -r -pe -n "CN=WebSSLTestRoot" -b 12/22/2013 -e 12/23/2024 -ss root -sr lo ...

  5. php基础教程-变量

    变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念.变量可以通过变量名访问.在指令式语言中,变量通常是可变的:但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable) ...

  6. [Node.js] DSL in action

    原文地址:http://www.moye.me/2015/05/30/dsl-in-action/ 最近看了本有意思的书,受到了一些启发,在此记录一下: DSLs in action   DSL是什么 ...

  7. APP账号密码传输安全分析

            最近在搞公司的安卓APP测试(ThinkDrive 企邮云网盘)测试,安卓app测试时使用代理抓包,发现所此app使用HTTP传输账号密码,且密码只是普通MD5加密,存在安全隐患,无法 ...

  8. Pig 实现关键词匹配

    1. 问题描述 收集日志avro数据中有两个Map字段appInstall.appUse分别表示已安装的app.正在使用的app,且key值为app的名称,value值为app使用信息.现在要得到一份 ...

  9. SQL Server中的事务日志管理(9/9):监控事务日志

    当一切正常时,没有必要特别留意什么是事务日志,它是如何工作的.你只要确保每个数据库都有正确的备份.当出现问题时,事务日志的理解对于采取修正操作是重要的,尤其在需要紧急恢复数据库到指定点时.这系列文章会 ...

  10. Oracle Flashback和RMAN示例

    作者:Grey 原文地址:http://www.cnblogs.com/greyzeng/p/5346833.html 环境: Windows 10 专业版 Oracle Database 12c R ...