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