Error: Undeclared namespace prefix x:

Error: Undeclared namespace prefix x:

我是 SOAP 新手,正在为如何解决此错误消息而苦苦挣扎,

{:error, "500", "Undeclared namespace prefix \"x\"\n at [row,col {unknown-source}]: [1,168]"}

对于下面的 SOAP 信封。由于我尝试访问的主机系统的条款和条件,我已将识别 URL 和凭据信息替换为 "xxx" 并删除了大部分对象。

<x:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
            xmlns:read="urn://xxx/sdk/ReadObject" 
            xmlns:obj="http://xxx/object">
    <x:Header>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
                       xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:UsernameToken>
                <wsse:Username>xxx</wsse:Username>
                <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">xxx</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </x:Header>
    <x:Body>
      <read:readEstimate>
        <read:estimate>
        <obj:id>38945</obj:id>
        </read:estimate>
      </read:readEstimate>
    </x:Body>
</x:Envelope>

要解决未声明的命名空间前缀 (x:) 的问题,请执行以下任一操作:

  1. 将 SOAP 信封元素名称中的 x: 替换为 soapenv:

  2. 改变xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"xmlns:x="http://schemas.xmlsoap.org/soap/envelope/".

  3. 通过更改 xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 使用默认命名空间 到 xmlns="http://schemas.xmlsoap.org/soap/envelope/" 并删除 SOAP 信封元素名称中的 x: