前段时间学习了webservice的用法,虽然只是一些简单的用法,但是如果久了还是会忘记的,所以将学到了记录下来。
一:schema和http协议。
1.schema约束:
schema规范中: 1. 所有标签和属性都需要有schema文件来定义 2. 所有的schema文件都需要有一个id, 但在这里它叫namespace, 3. namespace的值由什么来指定? 由targetNamespace属性来指定, 它的值是一个url(很有可能不存在) 4. 如何引入一个Schema约束? 属性? : 用xmlns属性 属性值: 对应的schema文件的id(namespace值)
eg:xmlns="http://www.w3.org/2001/XMLSchema" 5. 如果引入的schema不是w3c组织定义, 必须指定schema文件的位置 6. schema文件的位置由什么属性来指定? 属性? : schemaLocation 属性值: namespace path 7. 如果引入了N个约束, 需要给n-1个取别名
例子:book.xsd
<xml version="1.0" encoding="UTF-8"> <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.hotusm.com/bookSchema" elementFormDefault="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"> <书架 xmlns="http://www.hotusm.com/bookSchema" xmlns:dd="http://www.w3.org/2001/XMLSchema-instance" dd:schemaLocation="http://www.hotusm.com/bookSchema book.xsd" > <书> <书名>JAVA 开发</书名> <作者>hotusm</作者> <售价>20</售价> </书> </书架>
2.http协议:
1. 请求的组成:
请求行(请求方式 path http1.1)
请求头
请求体: 只有post请求有
2. 响应的组成
响应状态行:
响应头
响应体 : 浏览器解析显示的数据
二:ws的一些基础知识:
1.webservice相当于HTTP+?+? ? : xml ? : schema 2.wsdl是什么? webservice定义语言, 对应.wsdl文档, 一个webservice会对应一个唯一的wsdl文档, 定义了客户端与服务端发送请求和响应的数据格式和过程 3.如何发布一个webservice? 定义SEI @webservice @webMethod 定义SEI的实现 发布: Endpoint.publish(url, SEIImplObject) 4.如何请求一个webservice? 1.根据wsdl文档生成客户端代码 jdk/cxf 根据生成的代码调用webService
三:webservice中的几个重要术语
3.1: WSDL:web service definition language
直译 : WebService定义语言 1. 对应一种类型的文件.wsdl 2. 定义了web service的服务器端与客户端应用交互传递请求和响应数据的格式和方式 3. 一个web service对应一个唯一的wsdl文档
3.2SOAP:simple object access protocal
直译: 简单对象访问协议 1.是一种简单的、基于HTTP和XML的协议, 用于在WEB上交换结构化的数据 2.soap消息:请求消息和响应消息 http+xml片断
3.3SEI:WebService EndPoint Interface(终端)
直译: web service的终端接口, 1. 就是WebService服务器端用来处理请求的接口
3.4CXF:Celtix + XFire
一个apache的用于开发webservice服务器端和客户端的框架
上面就是最基本的ws的一些术语和使用到的另外一些技术了。