Altova XMLSpy 2024 Enterprise Edition

WSDL文档不仅是WSDL文档,而且还是XML文档。因此,它可以作为XML和WSDL进行验证。下方列表包含了有关XMLSpy企业版专业版WSDL验证行为的重要信息。

 

专业版执行简单的Schema验证,也就是说,它将WSDL文件视为XML文件,并根据在http://schemas.xmlsoap.org/wsdl/中定义的Schema对其进行验证。

企业版提供的WSDL验证超出了专业版所提供的XML验证。它不会根据http://schemas.xmlsoap.org/wsdl/进行验证,而是依据https://www.altova.com/specs_wsdl.html#_document-s文档及其逻辑。这将在WSDL的上下文中提供额外的验证信息。因此,WSDL文件可能在专业版中是有效的,但在企业版中是无效的(参见下方示例)。

http://schemas.xmlsoap.org/wsdl/https://www.altova.com/specs_wsdl.html#_document-s之间有一个区别。前一个Schema不包含在WSDL规范中定义的extensibility elements的定义。看起来这个缺点是官方W3C Schema中的一个错误;这个缺点在后一个Schema中得到了解决(由企业版使用)。

由于专业版使用http://schemas.xmlsoap.org/wsdl/进行验证,因此扩展性元素在专业版中会被报告为无效,但在企业版 (它使用https://www.altova.com/specs_wsdl.html#_document-s)中却有效。

由于W3C Schema是W3C工作组提供的官方Schema,因此不幸的是,其中的任何错误都超出了Altova的控制范围。

 

示例

以下示例是WSDL文件的一部分。请注意,getCityTime元素已在文件中声明。此元素被错误地引用为getCityTimes企业版将检查之前引用的元素是否已在文件中声明,而专业版不会检查这一点。此文件(假设文件的其余部分都是有效的)将在专业版中视为有效,但在企业版(假设未在文件的其他位置定义getCityTimes)中视为无效。

 

<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