soap学习篇

来源:互联网 发布:网络信息安全攻防平台 编辑:程序博客网 时间:2024/06/06 13:16

Soap学习篇

1、  什么是soap

Soap就是访问网络服务的协议,基于xmlHTTP+XML=SOAP

2、  Soap构建模块

一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:

1、必需的 Envelope元素,可把此 XML 文档标识为一条 SOAP消息

2、可选的 Header元素,包含头部信息

3、必需的 Body元素,包含所有的调用和响应信息

4、可选的 Fault元素,提供有关在处理此消息所发生错误的信息

所有以上的元素均被声明于针对 SOAP 封装的默认命名空间中:

http://www.w3.org/2001/12/soap-envelope

以及针对 SOAP 编码和数据类型的默认命名空间:

http://www.w3.org/2001/12/soap-encoding

3、  语法规则

这里是一些重要的语法规则:

  • SOAP 消息必须用 XML来编码
  • SOAP 消息必须使用 SOAP Envelope命名空间
  • SOAP 消息必须使用 SOAP Encoding命名空间
  • SOAP 消息不能包含 DTD引用
  • SOAP 消息不能包含 XML处理指令

4、  例子

<?xml version="1.0"?>

<soap:Envelope

xmlns:soap="http://www.w3.org/2001/12/soap-envelope"

soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

  ...

  Message information goes here

  ...

</soap:Envelope>

 

1、<soap:Envelope……(soap消息的根元素)

2、xmlns:soap=http://www.w3.org/2001/12/soap-envelope(命名空间)

3、soap:encodingStyle=http://www.w3.org/2001/12/soap-encoding(在文档中使用的数据类型,被应用到元素的内容及元素的所有子元素上)

5、  一些属性

1.       SOAP Header 元素(必须是 Envelope 元素的第一个子元素)

2.       Actor属性(沿着消息路径经过不同的端点,也许打算传送给消息路径上的一个或多个端点,并非所有消息都打算传送到终端)

3.       MustUnderstand属性(可用于标识标题项对于要对其进行处理的接收者来说是强制的还是可选的,soap:mustUnderstand="0|1"

4.       SOAP Body元素(包含打算传送到消息最终端点的实际 SOAP 消息)

5.       SOAP Fault元素(用于指示错误消息,在一条 SOAP 消息中,Fault元素只能出现一次)

 

6、  HTTP协议

1.       客户机可向服务器发送 HTTP 请求消息:

POST /item HTTP/1.1
Host: 189.123.345.239
Content-Type: text/plain          (定义消息的 MIME 类型)
Content-Length: 200              (请求或响应主体的字节数)

2.       向客户机发送一个 HTTP 响应

200 OK
Content-Type: text/plain
Content-Length: 200
原创粉丝点击