表 49 は、WSDL および XML スキーマでの、スタイル、使用法、および型または要素を使用したパーツ定義のさまざまな組み合わせに対する、WSDL ODA のサポート状況を示しています。
WSDL ODA は (1 つのファイルで) 完全に自己完結した WSDL ファイルか、または、サービス要素を含むインプリメンテーション・ファイル、他のすべての WSDL 要素 (型、メッセージ、ポート・タイプ、バインディング) を含むインターフェース・ファイル、およびスキーマ用の 1 つ以上のファイルに分離された WSDL ファイルを検索できます。WSDL ODA は、複数のインターフェース・ファイル (例えば、メッセージとポート・タイプが 1 つのファイルにあり、バインディングが別のファイルにある場合など) を含む WSDL ファイルを正常に検索できません。
WSDL 文書内の <schema> 要素は、ネーム・スペース・プレフィックスに関しては自己完結型でなければなりません。<types> 要素の子である <schema> 要素内の WSDL 文書の <definitions><types>...</types></definitions> 要素に定義されたネーム・スペース・プレフィックスを使用することはできません。ネーム・スペース・プレフィックスを <schema> 要素のサブエレメントで使用する場合は、<schema> 要素に対してネーム・スペース・プレフィックスを再定義する必要があります。次の例では、自己完結型でないため、正しくないスキーマを示しています。
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:NS="NS"> <types> <schema xmlns="http://www.w3.org/1999/XMLSchema"> <element name="NSElem" type="NS:NSType"/> </schema> </types> </definitions>
ネーム・スペース・プレフィックス NS が <definitions> 要素に定義され、<schema> 要素に再定義されることなく使用されます。したがって、WSDL ODA はエラーをスローします。この制限を回避するには、ネーム・スペース・プレフィックス NS を <schema> 要素に再定義します。以下に例を示します。
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:NS="NS">
<types>
<schema xmlns="http://www.w3.org/1999/XMLSchema" xmlns:NS="NS">
<element name="NSElem" type="NS:NSType"/>
</schema>
</types>
</definitions>