SOAP Envelope元素
SOAP Envelope(信封)元素
SOAP的Envelope元素表示消息的开始和结束,以便接收方确认收到整个消息。
注意事项
以下是关于Envelope元素的一些要点:
每个SOAP消息都有Envelope元素。
Envelope是SOAP消息的一个强制部分。
每个Envelope元素必须包含一个Body元素。
如果Envelope包含一个头元素,它必须包含大于一个元素,并且它必须作为Envelope的第一个子节点出现,在Body之前。
当SOAP版本更改时,Envelope也随之更改。
SOAP Envelope是使用env名称空间前缀和信封元素指定的。
也可以使用可选的encodingStyle元素指定名称空间和SOAP编码,这也可以指向除SOAP之外的编码样式。
兼容v1.1的SOAP处理器在接收包含v1.2信封命名空间的消息时会生成错误。
兼容v1.2的SOAP处理器收到一条不包含v1.2信封命名空间的消息,则会生成VersionMismatch错误。
兼容1.2的 SOAP 消息
下面给出了一个符合v1.2的SOAP消息的示例。
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope" SOAP-ENV:encodingStyle=" http://www.w3.org/2001/12/soap-encoding">
...
Message information goes here
...
</SOAP-ENV:Envelope>
使用HTTP POST的SOAP
下面的示例说明了在HTTP POST操作中使用SOAP消息,它将消息发送到服务器。它显示了信封架构定义和编码规则的架构定义的名称空间。HTTP报头中的OrderEntry引用是在kaifaxueyuan.com网站上调用的程序名称。
POST /OrderEntry HTTP/1.1
Host: www.kaifaxueyuan.com
Content-Type: application/soap; charset="utf-8"
Content-Length: nnnn
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2001/12/soap-envelope" SOAP-ENV:encodingStyle=" http://www.w3.org/2001/12/soap-encoding">
...
Message information goes here
...
</SOAP-ENV:Envelope>