【问题标题】:SOAP request with certain tags without namespace带有特定标签但没有命名空间的 SOAP 请求
【发布时间】:2022-01-04 17:28:30
【问题描述】:

根据标准,以下 SOAP 请求是否有效?

<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <ns2:ServiceReq xmlns:ns2="http://www.tibco.com/service" xmlns:ns1="http://www.tibco.com/framework">
            <ns1:HeaderIn>
                <ns1:countryISO>FR</ns1:countryISO>
                <ns1:callerDateTime>2021-11-26T15:50:08.742Z</ns1:callerDateTime>
            </ns1:HeaderIn>
            <ns2:request>
                <entete>
                    <profile>Default</profile>
                </entete>
                <input>
                    <type>W</type>
                    <codeRegion>X</codeRegion>
                </input>
            </ns2:request>
        </ns2:ServiceReq>
    </soapenv:Body>
</soapenv:Envelope> 

我不确定,因为某些标签没有命名空间

【问题讨论】:

    标签: soap namespaces xml-namespaces


    【解决方案1】:

    这里有多个有效级别:

    1. 根据 SOAP 标准,它是有效的 SOAP 消息吗?是的。 SOAP 信封和正文标签似乎有效。
    2. 它是有效的 XML 格式吗?是的,这是一个格式良好的 XML 文件。
    3. 那些没有命名空间前缀的元素是否有效?是的。元素可以位于默认命名空间中,也可以根本不位于任何命名空间中。
    4. 正文的实际内容是有效消息吗?您只能判断您是否根据 Web 服务的 WSDL 文件中定义的预期消息验证了您发布的消息。

    SOAP 消息正文中的所有元素都应该属于特定的命名空间,但有时开发人员忘记在元素上添加命名空间注释,或者从其他地方复制粘贴某些内容,或者其他任何东西,而你最终会像这样看起来很奇怪的 XML。该服务工作正常,消息被正确解析,但看起来很有趣。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 2014-11-20
      • 2011-03-23
      • 1970-01-01
      • 2013-10-26
      相关资源
      最近更新 更多