Altova XMLSpy 2024 Enterprise Edition

Validation des fichiers WSDL

Accueil Préc Haut Suivant

Un document WSDL n'est pas seulement un document WSDL mais aussi un document XML. En résultat, il peut être validé en tant que XML et aussi en tant que WSDL. La liste suivante contient des informations importantes concernant le comportement de la validation WSDL dans les Éditions Enterprise et Professional de XMLSpy :

 

L'Édition Professional exécute une validation de schéma simple, elle donc traite le fichier WSDL en tant que fichier XML et le valide conformément au schéma défini sous http://schemas.xmlsoap.org/wsdl/.

L'Édition Enterprise propose une validation WSDL qui dépasse la validation XML fournie par l'Édition Professional. Elle ne valide pas par rapport à http://schemas.xmlsoap.org/wsdl/. Au lieu, elle utilise le document https://www.altova.com/specs_wsdl.html#_document-s ainsi que sa propre logique. Cela apporte une information de validation supplémentaire dans le contexte de WSDL. Ainsi, il peut se produire qu'un fichier WSDL est valide dans l'Édition Professional mais n'est pas valide dans l'Édition Enterprise (voir exemple ci-dessous).

Il existe une différence entre http://schemas.xmlsoap.org/wsdl/ et https://www.altova.com/specs_wsdl.html#_document-s. L'ancien schéma ne contient pas de définitions d'éléments d'extensibilité, qui sont définies dans la spécification WSDL. Il semblerait que ce défaut soit une erreur dans le schéma W3C officiel ; le défaut est adressé dans le dernier schéma (utilisé par Enterprise Edition).

Puisque l'Édition Professional utilise http://schemas.xmlsoap.org/wsdl/ pour la validation, les éléments d'extensibilité seront rapportés comme étant invalides dans l'Édition Professional, mais valides dans l'Édition Enterprise (qui utilise https://www.altova.com/specs_wsdl.html#_document-s).

Puisque le schéma W3C est un schéma officiel fourni par le groupe de travail W3C, toute erreur pouvant se trouver dans ce schéma sont malheureusement indépendants du contrôle d'Altova.

 

Exemple

L'exemple suivant fait partie d'un fichier WSDL. Veuillez noter l'élément "getCityTime" qui a été déclaré dans le fichier. Cet élément est référencé à tort par "getCityTimes". L'Édition Enterprise contrôle si les éléments qui sont référencés ont précédemment été déclarés dans le fichier ; l'Édition Professional n'est pas déclarée. Ce fichier (en partant du principe que le reste du fichier est valide) sera considéré valide dans l'Édition Professional, mais invalide dans l'Édition Enterprise (en partant du principe que "getCityTimes" n'est pas défini à un autre endroit du fichier).

 

<s:element name="getCityTime">

 <s:complexType>

         <s:sequence>

                 <s:element minOccurs="0" maxOccurs="1" name="city" type="s:string"/>

         </s:sequence>

 </s:complexType>

</s:element>

<s:element name="abc">

 <s:complexType>

         <s:sequence>

                 <s:element ref="getCityTimes"/>

         </s:sequence>

 </s:complexType>

</s:element>

 

 

© 2017-2023 Altova GmbH