【问题标题】:SOAP XML envelopeSOAP XML 信封
【发布时间】:2012-08-23 23:35:11
【问题描述】:

在示例soap XML请求消息中,我注意到有soap信封标记为

<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>
...

这是所有soap消息都必须具备的标准吗?

谢谢。

【问题讨论】:

    标签: xml soap wsdl


    【解决方案1】:

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

    肥皂 1.1 标准第 4.1.2 节

    SOAP 没有定义基于主要和 次要版本号。 SOAP 消息必须有一个 Envelope 元素 与“http://schemas.xmlsoap.org/soap/envelope/”相关联 命名空间。如果 SOAP 应用程序接收到一条消息,其中 SOAP Envelope 元素与不同的命名空间相关联,即 应用程序必须将此视为版本错误并丢弃 信息。如果通过请求/响应接收到消息 HTTP 等协议,应用程序必须以 SOAP 响应 使用 SOAP 的 VersionMismatch 错误代码消息(参见第 4.4 节) “http://schemas.xmlsoap.org/soap/envelope/”命名空间。

    soap envelope in 1.1
    soap envelope in 1.2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-05
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      相关资源
      最近更新 更多