2008-09-26 13 views
0

Est-ce un code SOAP/XML valide?Portée de l'espace de noms dans 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> 

Et si c'est le cas: dans quel espace de noms appartient FrenchGrade? Est-ce dans l'urne: Routs namespace?

+0

Était-ce attaché à un service qui fournissait un WSDL? Le WSDL aurait dû vous dire dans quel espace de noms se trouvait cet élément (aussi, les autres n'auraient pas ce type en premier lieu, mais tout de même). ~ Aussi @Kim, pourriez-vous marquer votre réponse comme acceptée ci-dessous si c'était le cas? – jcolebrand

Répondre

2

Oui c'est correct. En faisant:

<CreateRoute xmlns="urn:Routs"> 

... vous modifiez l'espace de noms par défaut urn:Routs. Cela signifie que tous les éléments enfants non préfixés existeront dans ce nouvel espace de noms.

À moins bien sûr:

  • vous ajoutez explicitement de nouveaux éléments en utilisant un préfixe différent
  • vous créez un nouvel élément enfant et changer son espace de noms par défaut, auquel cas ses enfants seront dans cette nouvelle espace de noms
+0

Pas de problème, je dois juste le gérer ... – Kim