2012-08-23 44 views
0

在样本SOAP XML请求消息,我注意到,有SOAP信封标签作为SOAP信封XML

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<Header> 
... 

难道没关系删除这些标签?例如,将肥皂信息更改为,

<soapenv:Envelope> 
<Header> 
... 

这是所有肥皂信息必须具有的标准吗?

谢谢。

回答

2

soap消息是必需的,接收端可以使用该命名空间来确定肥皂消息的版本。根据我的理解,您使用的命名空间表示此消息遵循Soap 1.1标准。如果您尝试在该消息中使用Soap 1.2功能,服务器很可能会感到困惑。

肥皂1.1标准

SOAP的第4.1.2不定义基于主要和次要 版本号的一个传统的版本模式。 SOAP消息必须与“http://schemas.xmlsoap.org/soap/envelope/” 命名空间相关联的Envelope元素 。如果SOAP应用程序收到一条消息,其中SOAP Envelope元素与另一个名称空间相关联,则 应用程序必须将其视为版本错误并丢弃 消息。如果通过诸如HTTP之类的请求/响应协议接收到消息,那么应用程序必须使用SOAP “http://schemas.xmlsoap.org/soap/envelope”以SOAP VersionMismatch错误代码消息(参见第4.4节)进行响应/“命名空间。

soap envelope in 1.1
soap envelope in 1.2