soap介绍
soap是一个简单的基于XML的协议,它让应用程序跨HTTP进行信息交换。
SOAP语法
soap信息是包含以下元素的普通XML文件:
(1)Envelope元素:必需的
(2)Header元素:可选的,包含标题信息
(3)Body元素:必需的,包含请求与响应的信息
(4)Fault元素:可选的,包含产生的错误信息
上面所有的元素都在http://www.w3.org/2001/12/soap-envelope命名空间中
所有编码和数据类型都在http://www.w3.org/2001/12/soap-encoding
语法规则
(1)SOAP信息必须通过XML进行编码。
(2)SOAP信息必须使用SOAP Enveloope namespace
(3)SOAP信息必须使用SOAP Encoding namespace
(4)SOAP信息决不能包含DTD参数
(5)SOAP信息决不能包含XML处理指令
SOAP纲要信息
<?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">
<soap:Header></soap:Header>
<soap:Body></soap:Body>
<soap:Fault></soap:Fault>
</soap:Envelope>
Envelope是soap信息的根元素。
encodingStyle属性的作用:定义用于文档中的数据类型。没有默认的编码 。
在soap默认空间中定义了3个默认属性:actor, mustUnderstand和encodingStyle
(1)actor属性
可能用于特定端点的标题元素的寻址。
(2)mustUnderstand属性
可以用来指明标题入口对于接受者信息处理是强制的还是可选的。如果你把mustUnderstand=1添加到一个子标题元素上去的话,那接实验受者处理标题元素时,这个元素必须可识别的,如果接收器无法识别该元素,那么处理该元素将会失败。
Fault元素
子元素 | 描述 |
<faultcode> | a code for identifying the fault |
<faultstring> | a human readable explanation of the fault |
<faultactor> | Information about who caused the fault to happen |
<detail> | Holds application specific error information related to the body element |
SOAP HTTP Binding
HTTP+XML = SOAP
SOAP方式是一个遵循SOAP编码规则的HTTP请求/响应。
1.Content-Type
Content-Type:MIMEType; charset=character-encoding
2.Content-Length
主体部分的字节数。
Content-Length:bytes
最后欢迎大家访问我的个人网站:1024s