表 49 は、属性のスタイル、使用法、および型と要素を使用したパーツ定義をさまざまに組み合わせたものに対する、WSDL ODA のサポート状況を示しています。
スタイル/用途/パーツ定義に使用 | 説明 |
---|---|
rpc/encoded/type | サポートあり |
rpc/encoded/element | サポートあり |
rpc/literal/type | サポートあり |
rpc/literal/element | サポートあり |
doc/encoded/type | サポートなし |
doc/encoded/element | サポートなし |
doc/literal/type | サポートあり |
doc/literal/element | サポートあり |
WSDL ODA は (1 つのファイルで) 完全に自己完結した WSDL ファイルか、または、サービス要素を含むインプリメンテーション・ファイル、他のすべての WSDL 要素 (型、メッセージ、ポート・タイプ、バインディング) を含むインターフェース・ファイル、およびスキーマ用の 1 つ以上のファイルに分離された WSDL ファイルを検索できます。WSDL ODA は、複数のインターフェース・ファイル (例えば、メッセージとポート・タイプが 1 つのファイルにあり、バインディングが別のファイルにある場合など) を含む WSDL ファイルを正常に検索できません。
WSDL 文書内のスキーマは、ネーム・スペース・プレフィックスに関しては自己完結型でなければなりません。<types> 要素の子である <schema> 要素内の WSDL 文書の <definitions>/<types> 要素に定義されたネーム・スペース・プレフィックスを使用することはできません。ネーム・スペース・プレフィックスを <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>