Altova XMLSpy 2024 Enterprise Edition

Ein WSDL-Dokument ist nicht nur ein WSDL-Dokument, sondern gleichzeitig auch ein XML-Dokument. Es kann daher als XML- und auch als WSDL-Dokument validiert werden. Die folgende Liste enthält wichtige Informationen, darüber, wie die Validierung von WSDL-Dateien in der Enterprise und der Professional Edition von XMLSpy gehandhabt wird.

 

Die Professional Edition führt 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 XML-Validierungsfunktion in der Professional Edition hinausgehen. Die Validierung darin wird nicht anhand von http://schemas.xmlsoap.org/wsdl/ durchgeführt, sondern anhand des Dokuments https://www.altova.com/specs_wsdl.html#_document-s sowie der eigenen Programmlogik. Dadurch stehen im Kontext von WSDL zusätzliche Validierungsinformationen zur Verfügung. Dadurch kann es vorkommen, dass eine WSDL-Datei zwar in der Professional Edition gültig ist, nicht aber in der Enterprise Edition (siehe Beispiel unten).

Es besteht ein Unterschied zwischen http://schemas.xmlsoap.org/wsdl/ und https://www.altova.com/specs_wsdl.html#_document-s. Ersteres Schema enthält keine Definitionen von Erweiterungselementen, welche in der WSDL-Spezifikation definiert sind. Offenbar handelt es sich hierbei um einen Fehler im offiziellen W3C-Schema; dieser Fehler wurde im zweitgenannten (von der Enterprise Edition) verwendeten Schema korrigiert.

Da die Validierung in der Professional Edition anhand von http://schemas.xmlsoap.org/wsdl/ durchgeführt wird, werden Erweiterungselemente in der Professional Edition als ungültig behandelt, während sie in der Enterprise Edition (in der die Validierung anhand von https://www.altova.com/specs_wsdl.html#_document-s durchgeführt wird) gültig sind..

Da es sich beim W3C-Schema um ein offizielles Schema der W3C-Arbeitsgruppe handelt, sind Altova bei Fehlern darin die Hände gebunden.

 

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>

 

 

© 2018-2024 Altova GmbH