微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

XML SOAP命名空间仅使用前3个字符

如何解决XML SOAP命名空间仅使用前3个字符

假设我有以下xsd:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="abcd" elementFormDefault="qualified" xmlns:ebppif1="abcd">
    <xs:element name="Test">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="someValue" type="xs:long"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

我跟随this tutorial创建了可完美运行的SOAP Web服务。

但是问题是名称空间缩短为'abc'(在SoapIU上)

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:abc="abcd">
   <soapenv:Header/>
   <soapenv:Body>
      <abc:Test>
         <abc:someValue>123</abc:someValue>
      </abc:Test>
   </soapenv:Body>
</soapenv:Envelope>

如何禁用或更改名称空间长度缩短以在请求中实现完整的名称空间?

解决方法

您对XML名称空间的理解不正确。名称空间前缀不是名称空间。

SoapUI生成的XML文档是正确的。如果您查看SoapUI文档,则命名空间前缀'abc'将正确映射到命名空间'abcd'。

我强烈建议您阅读有关XML名称空间的W3Schools教程。这看似困难,但实际上非常简单。如果您花一些时间来学习基础知识,那将会有所收获。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。