在示例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>
...
可以删除这些标签吗?例如,将soap消息更改为
<soapenv:Envelope>
<Header>
...
所有肥皂信息都必须有这个标准吗?
感谢。
答案 0 :(得分:2)
soap消息是必需的,接收端可以使用命名空间来确定soap消息的版本。根据我的理解,您使用的命名空间表示此消息遵循Soap 1.1
标准。如果您尝试在该消息中使用Soap 1.2
功能,服务器很可能会感到困惑。
soap 1.1标准的第4.1.2节
SOAP没有定义基于major和。的传统版本控制模型 次要版本号码。 SOAP消息必须有一个Envelope元素 与“http://schemas.xmlsoap.org/soap/envelope/”相关联 命名空间。如果SOAP应用程序收到消息,那么 SOAP Envelope元素与不同的命名空间相关联 应用程序必须将此视为版本错误并丢弃 信息。如果通过请求/响应接收消息 HTTP等协议,应用程序必须用SOAP响应 使用SOAP的VersionMismatch faultcode消息(参见第4.4节) “http://schemas.xmlsoap.org/soap/envelope/”命名空间。