WSDL ファイルの検証

www.altova.com このトピックを印刷 前のページ 1つ上のレベル 次のページ

ホーム >  ユーザーマニュアル > メニューコマンド > XML メニュー >

WSDL ファイルの検証

XMLSpy Enterprise ならびに Professional Edition における WSDL 検証の重要な情報を以下のリストに示します:

 

Professional Edition では、単純なスキーマ検証が行われます。WSDL ファイルは  http://schemas.org/wsdl/ にて定義されたスキーマに対して作成されたXML ファイルとして扱われます。
Enterprise Edition では、Professional Edition を超えた WSDL 検証が行われます。http://schemas.xmlsoap.org/wsdl/ に対する検証は行われず、代わりに http://www.altova.com/specs_wsdl.html#_document-s と独自のロジックを使用することで、WSDL の文脈に沿った更に高度な情報が提供されます。そのため、Professional Edition では妥当とされた WSDL ファイルが、Enterprise Edition では、そうでないと表示されることがあります(以下の例を参照)。
http://schemas.xmlsoap.org/wsdl/ と http://www.altova.com/specs_wsdl.html#_document-s には違いがあります。http://schemas.xmlsoap.org/wsdl/ には拡張要素 (extensibility elements) がありません(仕様とスキーマは同一であるべきですが、実際はそうなっておりません。この違いがエラーとして表示されます)。
Professional Edition の検証では http://schemas.xmlsoap.org/wsdl/ が使用されるため、あらゆる拡張要素は不正と認識されます。Enterprise Edition では、拡張要素を許可する http://www.altova.com/specs_wsdl.html#_document-s が使用されます。従って、拡張要素を含んでいる WSDL ファイルの検証を行うと、Enterprise Edition では妥当だとされ、Professional Edition では不正であるとされます。
Professional Edition にてファイルが不正だと見なされるのは、W3C 作業部会(ワーキンググループ)により提供されている公式のスキーマを使用しているためです。このスキーマが原因となるエラーに対して、我々ができることはありません。

 

以下に WSDL ファイルの一部を例として示します。このファイルでは要素 "getCityTime" が宣言されています。この要素は、"getCityTimes" という間違った名前で参照されています。Enterprise Edition では、参照された要素が、ファイル内で既に宣言されているかをチェックしますが、Professional Edition にてこのチェックは行われません。ファイルの他の箇所が妥当であることを前提とすると、このファイルは Professional Edition にて妥当であると見なされ、Enterprise Edition では("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>

 

 


(C) 2019 Altova GmbH