Validieren von WSDL-Dateien

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Benutzerhandbuch und Referenz > Menübefehle > Menü "XML" >

Validieren von WSDL-Dateien

Die folgende Liste enthält wichtige Informationen über die Validierung von WSDL-Dateien in der Enterprise und der Professional Edition von XMLSpy:

 

Die Professional Edition führt nur eine einfache Schemavalidierung durch, d.h. die WSDL-Datei wird als XML-Datei behandelt und dem unter http://schemas.xmlsoap.org/wsdl/ definierten Schema entsprechend validiert.
Die Enterprise Edition bietet Funktionen zur Validierung von WSDL-Dateien, die über den Umfang der Validierungsfunktion in der Professional Edition hinausgehen. Die Datei wird nicht gegen http://schemas.xmlsoap.org/wsdl/ validiert, sondern gegen http://www.altova.com/specs_wsdl.html#_document-s, wobei zusätzlich mehr Validierungsinformationen im Zusammenhang mit WSDL berücksichtigt werden. Dadurch kann es vorkommen, dass eine WSDL-Datei zwar in der Professional Edition gültig ist, nicht aber in der Enterprise Edition (siehe Beispiel).
Es besteht ein Unterschied zwischen http://schemas.xmlsoap.org/wsdl/ und http://www.altova.com/specs_wsdl.html#_document-s. In http://schemas.xmlsoap.org/wsdl/ fehlen die Extensibility-Elemente (die Spezifikation und das Schema sollten identisch sein, sind es aber nicht; dieser Unterschied scheint ein Fehler im Schema zu sein).
Da in der Professional Edition zur Validierung http://schemas.xmlsoap.org/wsdl/ verwendet wird, werden alle Extensibilty-Element als ungültig betrachtet. In der Enterprise Edition wurde http://www.altova.com/specs_wsdl.html#_document-s verwendet, in dem Extensibility-Elemente zulässig sind. Daher ist eine WSDL-Datei, die Extensibility-Elemente enthält, gültig, wenn sie in der Enterprise Edition validiert wird, und ungültig, wenn sie in der Professional Edition validiert wird.
Dass die Datei in der Professional Edition ungültig ist, liegt daran, dass wir das offizielle Schema der W3C Working Group verwenden. Fehler in diesem Schema liegen außerhalb unseres Einflusses.

 

Beispiel

 

Das folgende Beispiel stammt aus einer WSDL-Datei. Beachten Sie das in der Datei deklarierte Element "getCityTime". Dieses Element wird irrtümlicherweise als "getCityTimes" referenziert. Die Enterprise Edition überprüft, ob referenzierte Elemente zuvor in der Datei deklariert wurden; die Professional Edition tut dies nicht. Diese Datei wäre in der Professional Edition gültig (vorausgesetzt der Rest der Datei ist gültig), nicht aber in der Enterprise Edition (es sei denn, "getCityTimes" ist an einer anderen Stelle in der Datei definiert).

 

<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>

 

 


© 2019 Altova GmbH