SOAP(Simple Object Access Protocal),是基于xml的消息规范,他描述了数据类型的消息格式及一套串行化的规则,包括结构化类型和数组。主要的作用为 描述数据和传输数据。
当然,描述数据是基于 xml 的一套描述规则,传输数据需要将SOAP绑定到传输协议上,才能完成.简单认为
SOAP应用 = 传输协议 + SOAP消息
一个SOAP消息通常是一个多层的嵌套消息。简单的来讲,SOAP消息一般就是一个 Envelope 元素. 这个Envlope元素的构成 是一个可选的Header 和 一个必需的 Body 元素构成的。所以
SOAP消息 = Header(可选) + Body(必需)
注:
1, Header元素不是必需的, Header 元素可包含有关 SOAP 消息的应用程序专用信息
(比如认证、支付等).
2, 当 Header 被定义, 则它必须是 Envelope 元素的第一个子元素.
3, 如果 Header 元素被提供, 所有 Header 元素的直接子元素必须是有合格的命名空间.
4, SOAP Body 元素可包含打算传送到消息最终端点的实际 SOAP 消息.
5, SOAP Body 元素的直接子元素可以是合格的命名空间. 是必需出现的元素. SOAP 在默认的
命名空间("http://www.w3.org/2001/12/soap-envelope")定义了 Body 元素内部的一个元素。
即 SOAP 的 Fault 元素,用于指示错误消息。
6, SOAP Body 所有的直接元素必需有命名空间的修饰.同时钙元素必需是 SOAP Envelope 元素的
一个直接子元素.
若是存在 Header 元素, 则必需紧随着 Header 元素. 若是不存在 SOAP Header , 那么必须是第一个子元素.
SOAP 消息的 Body 元素默认的命名空间内定了 Fault 元素,这个 Fault 元素在Body 元素中只允许出现一次。
Body 元素 = Fault 元素(错误报告) + 服务调用