2008-09-26 73 views
0

这是否是有效的SOAP/XML?SOAP/XML中的命名空间范围

<?xml version="1.0" encoding="utf-8"?> 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <CreateRoute xmlns="urn:Routs"> 
      <aRoute> 
       <name>ToTheTop</name> 
       <grade xsi:type="FrencGrade"> 
        <gradeNumber>7</gradeNumber> 
        <gradeModifier>a</gradeModifier> 
       </grade> 
      </aRoute> 
     </CreateRoute> 
    </soap:Body> 
</soap:Envelope> 

如果是这样的话:FrenchGrade属于哪个命名空间?它在urn:Routs命名空间中吗?

+0

是否附加到提供WSDL的服务? WSDL应该告诉你该元素在哪个名称空间中(另外,其他人不会有这种类型,但仍然是)。 〜还有@Kim,如果是,你会在下面接受你的答案吗? – jcolebrand 2010-05-24 22:49:25

回答

2

是的,这是正确的。通过这样做:

<CreateRoute xmlns="urn:Routs"> 

...你更改默认命名空间urn:Routs。这意味着所有无前缀的子元素将存在于这个新的名称空间中。

当然,除非:

  • 你明确地使用不同的前缀
  • 您创建一个新的子元素和更改其默认命名空间增加新的元素,在这种情况下,它的孩子们将在这个新命名空间
+0

没问题,我只需要处理它... – Kim 2008-09-26 13:41:17