分享

Schema约束、Http协议、WebService服务学习笔记

 法律安全 2019-05-31

一、Schema约束
namespace: schema约束文件的命名空间(相当于id)。
targetNamespace属性:用来指定Schema文件的namespace的值。
xmlns属性:引入一个约束,他的值是一个Schema文件的namespace值。
schemaLocation属性:用来指定引入的Schema文件的位置。

Schema规范:
1.所有标签和属性都需要有Schema文件来定义。
2.所有的Schema文件都需要有有个id,在这里叫namespace。
3.namespace的值由什么指定?
由targetNamespace属性指定,它的值是一个url(很有可能不存在)。
4.如何引入一个schema约束?
属性:用xmlns属性指定。
属性值:Schema文件的namespace。
5.如果Schema文件不是由w3c组织定义,必须指定文件位置。
6.文件位置由什么属性来指定?
属性: schemaLocation属性指定。
属性值: namespace path。(中间用空格隔开)
7.如果引入了N个约束,需要给n-1给取别名。

book.xsd
<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlns="http://www./2001/XMLSchema" targetNamespace="http://www." elementFormDefault="qualified"> //qualified关联所有的标签,不懂。。
<element name="书架">
    <complexType>
        <sequence maxOccurs="unbounded">
            <element name="书">
                <complexType>
                    <sequence>
                        <element name="书名" type="string" />
                        <element name="作者" type="string" />
                        <element name="售价" type="string" />
                    </sequence>
                </complexType>
            </element>
        </sequence>
    </complexType>
</element>
</schema>

book.xml
<?xml version="1.0" encoding="UTF-8"?>
<dd:书架 xmlns:dd="http://www./bookSchema"
xmlns="http://www./2001/XMLSchema-instance"
dd:schemaLocation="http://www./bookSchema book.xsd">
<dd:书>
    <书名>JavaScript开发</书名>
    <作者>老佟</作者>
    <售价>28.00元</售价>
</dd:书>
</dd:书架>

Http协议:
1.请求的组成:
请求行(请求方式 path http1.1) 如:GET /web_test/index.jsp HTTP/1.1
请求头:下面的代码是请求头的内容。
请求体:只有post请求有。

GET /web_test/index.jsp HTTP/1.1 //请求行
Accept: */*  //表示可以接受任意类型的文件
Accept-Language: zh-CN  //接受的语言
User-Agent: Mozilla/4.0 {compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2}  //客户端浏览器及系统信息
Accept-Encoding: gzip,deflate  //接受的编码格式
Host: localhost     //访问的主机地址
Connection: Keep-Alive //连接状态
Cookie: JSESSIONID=OFDFOD32415B761F。。。  //用于维持一个session会话

2.响应的组成:
响应状态行:HTTP/1.1 200 OK (200表示响应成功,常用的还有404(请求的资源未找到)、500服务器未捕获异常、302代表让浏览器重新请求另一个资源、400客户端请求错误)
响应头:
响应体:浏览器解析显示的数据,如Html文件、js代码、css样式。
3.请求的过程:
一个http连接可请求多个资源,不再是一个连接请求一个资源。(http1.1)

HTTP/1.1 200 OK     //响应行
Server:Apache-Coyote/1.1    //服务器
Content-Type:text/html;charset=ISO-8859-1   //响应内容类型
Content-Length: 275     //内容长度
Date: Tue,11 Mar 2014 01:35:40 GMT  //时间

以下是响应体(纯HTML文档)

Web service是什么?
1.基于Web的服务,服务器端整出一些资源让客户端应用访问(获取数据)。
2.一个跨语言、跨平台的规范(抽象)。
3.多个跨平台、跨语言的应用间通信整合的方案(实际)。

以各个网站显示天气预报功能为例:
气象中心的管理系统将收集的天气信息整理并将数据暴露出来(通过WebService Server),而各大站点的应用就去调用他们得到天气信息并以不同的样式去展示(WebService Client)。
网站提供了天气预报的服务,但其实他们什么也没有做,只是简单的调用了一下气象中心服务器上的一段代码而已。
通过一些免费的WebService接口,可以查询天气、手机归属地等信息。
以下是提供一些免费WebService的链接的一个网站
http://www./articles/iIfqma

以下是WebService示意图
这里写图片描述
WebService能解决:
1.跨平台调用。
2.跨语言调用。
3.远程调用。

什么时候使用webService?
1.同一家公司的新旧应用之间
2.不同公司的应用之间
分析业务需求:天猫网与中通物流系统如何交互?
3.一些提供数据的内容聚合应用: 天气预报、股票行情。
这里写图片描述

四、Web Service中的几个重要术语
4.1WSDL: web service definition language
直译:WebService定义语言
1.对应一种类型的文件.wsdl
2.定义了web service 的服务器端与客户端应用交互传递请求和响应数据的格式和方式。
3.一个web service 对应一个唯一的wsdl文档。

4.2 SOAP: simple object access protocal
直译:简单对象访问协议
1.是一种简单的、基于HTTP和XML的协议,用于在WEB上交换结构化的数据。
2.soap消息: 请求消息和响应消息。
3.http+xml片段。

4.3 SEI: WebService EndPoint Interface(终端)
直译:web service的终端接口。
1.就是WebService 服务端用来处理请求的接口。

4.4 CXF: Celtix+XFire
一个apache的用于开发webService服务器端和客户端的框架。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多