webservice入门(1)
前段时间学习了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的一些术语和使用到的另外一些技术了。