Please enable JavaScript to view this site.

Altova XMLSpy 2020 Enterprise Edition

The following list contains important information about WSDL validation behavior in the Enterprise and Professional Editions of XMLSpy:

 

The Professional Edition performs only simple schema validation, i.e., it treats the WSDL file as an XML file and validates it according to the appropriate schema defined at http://schemas.xmlsoap.org/wsdl/.

The Enterprise Edition provides WSDL validation that goes beyond the validation provided by the Professional Edition. It does not validate against http://schemas.xmlsoap.org/wsdl/ but rather uses the http://www.altova.com/specs_wsdl.html#_document-s as well as its own logic to provide more valuable validation information in the context of WSDL. Thus it can happen that a WSDL file is valid in the Professional Edition, but not valid in the Enterprise Edition (see Example).

There is a difference between http://schemas.xmlsoap.org/wsdl/ and http://www.altova.com/specs_wsdl.html#_document-s. http://schemas.xmlsoap.org/wsdl/ is missing the extensibility elements (the specification and the schema should be the same but are not; this difference appears to be an error in the schema).

The fact that the Professional Edition uses http://schemas.xmlsoap.org/wsdl/ for validation means that any extensibility elements will be considered invalid. The Enterprise Edition used http://www.altova.com/specs_wsdl.html#_document-s, which allows extensibility elements. Thus a WSDL file containing extensibility elements is valid when using the Enterprise edition, and not valid when using the Professional Edition.

The fact that the file is invalid in the Professional Edition is because we are using the official schema provided by the W3C working group. Any errors in this schema are beyond our control.

 

Example

The following example is part of a WSDL file. Notice the element "getCityTime" that has been declared in the file. This element is mistakenly referenced as "getCityTimes". The Enterprise Edition checks if elements that are referenced have previously been declared in the file; the Professional Edition does not. This file (assuming that the rest of the file is valid) would be found to be valid in the Professional Edition, but not valid in the Enterprise Edition (assuming that "getCityTimes" is not defined somewhere else in the file).

 

<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