XSDからUDDIへのマッピングによって、UDDIへのXMLスキーマ文書の自動的な公開、および特定のXMLスキーマ・メタデータに基づいた正確かつ柔軟性なUDDI問合せが可能になります。
UDDIへのXMLスキーマ文書情報のマッピングは次のようになります。
XMLタイプ: XMLスキーマ文書内のグローバル・レベルで宣言されたタイプ。これらのタイプは、UDDIのtModelにマップされます。
XML要素: XMLスキーマ文書内のグローバル・レベルで宣言されたXML要素。これらの要素は、UDDIのtModelにマップされます。
他のXML名前空間への参照: インポートされたスキーマに関する情報がレジストリに保存されます。
このAPIによって、ユーザーは、スキーマのtModelによって定義された名前空間に基づいてスキーマのtModelを検索したり、スキーマのtModelによって宣言された要素およびタイプをその名前空間内で検索することができます。また、tModelまたは他のUDDIエンティティとしてではなく、要素、タイプおよびスキーマのリストとしてアクセスできるように、公開された情報をレジストリから抽出することもできます。
この構造は、公開されたXMLスキーマ文書によって宣言された要素を表しています。
element: この引数は、公開されたXMLスキーマ文書によって宣言された要素を表しています。
この構造には、インポートされたXMLスキーマtModelの基本情報が含まれています。
uddi:tModelKey: インポートされたXML名前空間のスキーマのtModelのキー。
uddi:name: スキーマのtModelの名前。
この構造では、XMLスキーマ文書の公開方法のマッピングが保持されます。
location: XMLスキーマ文書の候補の場所。
xsd2uddi:schemaMapping: XMLスキーマ文書の候補の内容のマッピング。
この構造では、インポートされた名前空間(XMLスキーマ文書のxsd:import句でのxsd:importの可能なマッピングのリスト)が保持されます。インポートされたXMLスキーマ文書に対して特定の場所がXMLスキーマ文書テキストに指定されている場合は、その場所も保持されます。
xsd2uddi:namespace: インポートされた名前空間。指定しない場合は、名前空間なしのXMLスキーマがインポートされます。
schemaLocation: XMLスキーマ文書の場所(明示的に指定した場合)。インポートされたXMLスキーマ文書で正確なスキーマの場所が指定されていない場合、この値はNULLになります。
xsd2uddi:importedSchemaModel: このインポートの候補のtModel情報。
この構造では、個々のXSD tModelおよびその内容へのXSDの内容のマッピングが記述されます。
uddi:name: XMLスキーマtModelの名前。
uddi:tModelKey: XMLスキーマtModelのtModelKey。
xsd2uddi:elements: 含まれているXML要素のマッピング。
xsd2uddi:types: 含まれているXMLタイプのマッピング。
この構造では、XMLスキーマ文書の内容からUDDIエンティティへのマッピングが記述されます。この構造には2つの部分があります。最初の部分では、XMLスキーマ文書によって指定されたxs:importsに対する一致が記述されます。2つ目の部分では、XMLスキーマ文書の内容と一致する可能性がある個々の候補が記述されます。候補構造には、特定のtModelの候補および関連するUDDIエンティティに対するXMLスキーマ文書のマッピングが含まれています。
xsd2uddi:schemaImports: 参照された(インポートされた)XMLスキーマ文書のマッピング。
xsd2uddi:schemaCandidate: 個々のマッピング候補。
この構造では、レジストリへの個々の記号(XSD要素およびタイプ)のマッピングが保持されます。
localName: マップされた記号のローカル名。
xsd2uddi:symbolModel: 記号を表すtModelの基本情報。
XMLスキーマ文書によって宣言された要素またはタイプを表すtModelに関する基本情報。
uddi:name: 記号のtModelの名前。XMLスキーマ文書を公開する場合、この引数はオプションです。この引数には、常にAPIレスポンスが入力されます。
uddi:tModelKey: 記号のモデルのtModelKey。
この構造では、特定のXMLスキーマ文書、その内容および参照に関する詳細情報が提供されます。
xsd2uddi:xsdInfo: XMLスキーマ文書自体に関する一般的な情報。
xsd2uddi:schemaImports: XMLスキーマ文書にインポートされたXML名前空間に関する情報。
xsd2uddi:elements: スキーマ内の要素のリスト。
xsd2uddi:types: スキーマ内のタイプのリスト。
この構造では、XMLスキーマ文書に関する一般的な情報が保持されます。
location: XMLスキーマ文書の場所。この場所は、内容の取得に使用できます。
xsd2uddi:namespace: XMLスキーマ文書によって定義されたXML名前空間のURI。
uddi:tModelKey: スキーマのtModelのtModelキー。
uddi:name: スキーマのtModelのtModel名。
この構造では、find_xsdコールから戻されたXSDのリストが保持されます。
uddi:listDescription: UDDIのAPIドキュメントで指定されている記述のリストを保持します。
xsd2uddi:xsdInfo: 登録された個々のXSDモデルに関する情報を保持します。
この操作では、XMLスキーマ文書が検索されます。コール元は、戻される検索結果の数を制限したり、listHead引数およびmaxRows引数を使用して検索結果を繰り返し適用することができます。
approximateMatch findQualifierが存在する場合は、入力検索条件として渡される名前およびURIのリストにワイルド・カード文字を使用できます。ownEntities findQualifierが使用されている場合は、操作によって、認証済のユーザーが所有しているエンティティのみが戻されます。その他のエンティティは、他の検索条件に一致している場合でも戻されません。
uddi:authInfo: このオプションの引数は、uddi:authTokenの文字列表現です。
xsd2uddi:resourceInfo: 公開されたXMLスキーマ文書の場所(URI)。レジストリでは、この場所からの読取りは行われません。この場所は、現行のUDDIの内容のみに対する検索条件として使用されます。
xsd2uddi:namespace: XMLスキーマ文書によって定義された名前空間での検索を行うことができます。XML名前空間URIのリストが含まれています。XMLスキーマ文書は、そのtargetNamespace属性がこれらのURIのいずれかである場合にこの条件を満たします。
definesType: ユーザーは、定義されたタイプで検索することができます。タイプ名のリストが含まれています。XMLスキーマ文書は、リストに渡された名前でグローバル・タイプが定義されている場合にこの条件を満たします。
definesElement: 戻されるスキーマによって、名前付きの要素を定義する必要があります。
uddi:find_tModel: 検索条件をより詳細に記述する場合に使用する引数。詳細は、uddi:find_tModelに関する説明を参照してください。これらの条件は、find_xsd構造で指定された他の条件と組み合されます。競合が発生した場合は、find_xsdの条件が優先されます。
このAPIコールは、成功時にxsdResourceListを戻します。コール元がmaxRows属性を指定した場合、戻されるxsdResourceListには、指定された数の結果が最大限含まれます。検索で、XSDからUDDIへのマッピング仕様に完全には準拠していないtModelが取得される場合(tModel情報が手動で変更された場合など)があることに注意してください。この場合、このようなtModelでget_xsdDetailを使用すると、例外が発生します。
この操作では、指定したXMLスキーマ文書の内容に適したマッピングが検索されます。この操作では、指定した場所でXMLスキーマ文書がダウンロードおよび解析され、その内容がレジストリにすでに公開されている情報と照合されます。これによって、指定したXMLスキーマ文書に対して、0(ゼロ)個以上のマッピングが行われます。
コール元は、XMLスキーマ文書を表す特定のtModelに対してのみマッピングが行われるようにリクエストできます。この場合は、1つのマッピングのみが戻されます。
指定した場所にある文書、またはその依存オブジェクト(文書によってインポートされるXML名前空間のスキーマなど)の1つからレジストリにアクセスできない場合は、例外が発生します。文書がXMLスキーマではない場合またはエラーが含まれている場合は、操作で例外がスローされます。
uddi:authInfo(オプション): 認証。
xsd2uddi:resourceInfo: XSDの識別(場所)。
uddi:tModelKey(オプション): 推奨されたスキーマのtModel。内容が一致している必要があります。設定されている場合、XMLスキーマ文書の公開された内容のみがマッピング対象として考慮されます。
このAPIコールは、成功時にxsd2uddi:schemaMappingを戻します。この構造には、指定した場所に、UDDIにすでに保存されているXMLスキーマ文書に対する一致が含まれています。主なXMLスキーマ文書にインポートされたXML名前空間のXMLスキーマ文書に対する一致が含まれている場合もあります。
XMLスキーマ文書またはその依存オブジェクトの1つにアクセスできない場合、コールは失敗します。
uddi:authInfo: このオプションの引数は、uddi:authTokenの文字列表現です。
uddi:tModelKey: 既存のXMLスキーマ文書tModelを表す必須のuddiKeyの値。
このAPIコールは、成功時にxsd2uddi:xsdDetailsを戻します。
渡されたtModelKeyが存在しない場合、または渡されたtModelKeyによってXMLスキーマ文書を表さないtModelが識別された場合は、例外が発生します。
表41 属性
名前 | 必須 |
---|---|
importPolicy | オプション |
contentPolicy | オプション |
publishingMethod | オプション |
contentPublishingMethod | オプション |
importPublishingMethod | オプション |
レジストリへのXMLスキーマ情報の公開をリクエストします。ユーザーは、最低限の情報を渡し、内部的に使用される一致アルゴリズムに依存して、公開されたXMLスキーマ文書に適したマッピングを検索することができます。
コール元は、importPolicyおよびcontentPolicyを使用して、公開されるデータの有効範囲を制限できます。また、publishingMethod属性、contentPublishingMethod属性およびimportPublishingMethod属性によって、公開のデフォルト動作(既存のUDDIエンティティを再使用して可能な場合は更新するか、新しいUDDIエンティティを作成するか、特定の種類の情報が無視するか)を指定できます。
レジストリでは、コール時にXMLスキーマ文書およびXMLスキーマ文書によって参照される(インポートされる)リソースを読み取る必要があります。XMLスキーマ文書または参照されるリソースが使用可能でない場合、操作は失敗します。
コール元が、一部の要素、タイプまたはXML名前空間のインポートに対してマッピングを指定せず、一致するUDDIエンティティがさらに存在する可能性がある場合、そのXMLスキーマ・エンティティのマッピングは不明確であるとみなされるため、コールは失敗します。このような場合の公開のために明確な指示を指定しておくことは、コール元の責任となります。
タイプ、要素またはインポートに対するschemaMappingエントリにpublishingMethod reuseが指定された場合は、APIによって、適合するUDDIエンティティの検索が試行されます。このようなエンティティが検出されなかった場合は、APIによって作成されます。コール元が特定のtModelKeyにreuse publishingMethodを指定する場合、そのtModelKeyは存在している必要があり、要素、タイプまたはインポート・データで更新されます。
タイプ、要素またはインポートに対するschemaMappingエントリに公開メソッドcreateが指定された場合は、常に、APIによってそのXMLスキーマ文書の部分に対する新しいUDDIエンティティが作成されます。コール元がschemaMappingエントリのtModelKeyを指定した場合は、新しいUDDIエンティティにそのtModelKeyが割り当てられます。コール元は、新しいtModelの名前を指定することもできます。
コール元が要素、タイプまたはインポートに対するignore公開メソッドを指定した場合、その特定のXMLスキーマ文書の部分は公開されません。公開操作によって、要素、タイプまたはインポートへの参照を含むレジストリの既存のエンティティが更新された場合、その参照は消去されます。要素またはタイプが無視された場合、一致するUDDIエンティティは、公開操作によってレジストリからも削除されます。
uddi:authInfo(オプション): 認証。
location: XSDの識別(場所)。
xsd2uddi:schemaImports: 参照された(インポートされた)XMLスキーマ文書のマッピング。
xsd2uddi:schemaMapping(オプション): スキーマの内容および参照のカスタマイズされたマッピング。
importPolicy: 公開されるインポートを指定する属性。
contentPolicy: 公開される内容を指定する属性。
publishingMethod: スキーマによって宣言された内容(要素、タイプ)に対するデフォルトの公開メソッドを指定する属性。デフォルトはupdateです。
contentPublishingMethod: 要素およびタイプ(ignore、create、reuse)に対するデフォルトの公開メソッド。デフォルトはreuseです。この公開メソッドは、異なる値を提供する要素またはタイプに対するエントリがschemaMappingに含まれていないかぎり、すべての要素またはタイプに対して使用されます。
contentPublishingMethod: インポート(ignore、create、reuse)に対するデフォルトの公開メソッド。デフォルトはreuseです。この公開メソッドは、異なる値を提供するXML名前空間に対するエントリがschemaMappingに含まれていないかぎり、すべてのインポートされるXML名前空間に対して使用されます。
このAPIコールは、成功時に、公開されたXMLスキーマ文書情報とともにxsdDetailを戻します。
XSD2UDDI APIエンドポイントは、http://<ホスト名>:<ポート>/<コンテキスト>/uddi/xsd2uddiで確認できます。