Oracle Service RegistryのWSDLからUDDIへのマッピングは、OASISのテクニカル・ノート「Using WSDL in a UDDI registry Version 2.0」に準拠しています。これによって、UDDIへのWSDLドキュメントの自動的な公開、および特定のWSDLアーティファクトとメタデータに基づいた正確かつ柔軟なUDDI問合せが可能になり、UDDI v2およびUDDI v3での一貫したマッピングを実現できます。
wsdlDetailには、マップされるWSDLに関する情報が記述されます。
wsdl2uddi:wsdl: マップされたWSDLのURIまたは物理的な場所が含まれています。
wsdl2uddi:wsdlMapping: マップされるwsdl:typesについて記述されています。
WsdlMappingには、マップされたwsdl:typesが記述されます。これは、指定したWSDLのマッピングのデフォルト動作を変更する場合に使用します。含まれている構造に、マップされる各wsdl:typeについて正しく記述することができます。これによって、マップの正確性が保証され、レジストリでのデータの重複が防止されます。
uddi:businessKey: 割り当てられたwsdl:typesがマップされる既存のuddi:businessEntityのbusinessKeyを表しています。
uddi:businessEntity: 割り当てられたwsdl:typesがマップされる既存のbusinessEntityを表しています。
wsdl2uddi:porttypes : マップされるwsdl:portTypesのコンテナを表しています。wsdl2uddi:porttypesによって、uddi:tModelを対応するwsdl:portTypeにマップできるようになります。
wsdl2uddi:bindings : マップされるwsdl:bindingsのコンテナを表しています。wsdl2uddi:bindingsによって、uddi:tModelを対応するwsdl:bindingにマップできるようになります。
wsdl2uddi:services : マップされるwsdl:servicesのコンテナを表しています。wsdl2uddi:servicesによって、uddi:businessServiceを対応するwsdl:serviceにマップできるようになります。
![]() | 注意 |
---|---|
uddi:businessKeyとuddi:businessEntityは相互に排他的であることに注意してください。 |
portTypeは、UDDIでのwsdl:portTypeのマッピングを表しています。wsdl:portTypeを対応するuddi:tModelに正確にマップするために必要な情報が含まれています。
uddi:tModelKey: (ユーザーが選択したpublishingMethodに応じて)再使用されるか、またはwsdl:portTypeからのデータで再書込みされる、既存のuddi:tModelのtModelKeyを表しています。
uddi:tModel: (ユーザーが選択したpublishingMethodに応じて)再使用されるか、またはwsdl:portTypeからのデータで再書込みされる、既存のuddi:tModelを表しています。
![]() | 注意 |
---|---|
uddi:tModelKeyとuddi:tModelは相互に排他的であることに注意してください。 |
これらの属性によって、適切なWSDLのwsdl:portTypeが記述されます。 Nameおよびnamespaceは、wsdl:portType QNameを表しています。publishingMethodによって、使用可能なマッピング・ユースケースが列挙されます。publishingMethodは、rewrite、create、reuseまたはignoreに設定できます。デフォルトのpublishingMethodは、reuseです。
bindingは、UDDIでのwsdl:bindingのマッピングを表しています。bindingには、wsdl:bindingを適切なuddi:tModelに正確にマッピングするために必要な情報が含まれています。
uddi:tModelKey: (ユーザーが選択したpublishingMethodに応じて)再使用されるか、またはwsdl:bindingからのデータで再書込みされる、既存のuddi:tModelのtModelKeyを表しています。
uddi:tModel: (ユーザーが選択したpublishingMethodに応じて)再使用されるか、またはwsdl:bindingからのデータで再書込みされる、既存のuddi:tModelを表しています。
![]() | 注意 |
---|---|
uddi:tModelKeyとuddi:tModelは相互に排他的であることに注意してください。 |
これらの属性によって、適切なWSDLからのwsdl:bindingが記述されます。Nameおよびnamespaceは、wsdl:binding QNameを表しています。
publishingMethodによって、使用可能なマッピング・ユースケースが列挙されます。publishingMethodは、rewrite、create、reuseまたはignoreに設定できます。デフォルトのpublishingMethodは、reuseです。
serviceは、UDDIでのwsdl:serviceのマッピングを表しています。wsdl:serviceを適切なuddi:businessServiceに正確にマップするために必要な情報が含まれています。
uddi:businessKey: 変換されたwsdl:serviceが保存される既存のuddi:businessEntityのbusinessKeyを表しています。
uddi:serviceKey: (ユーザーが選択したpublishingMethodに応じて)再使用されるか、またはwsdl:serviceからのデータで再書込みされる、既存のuddi:businessServiceのserviceKeyを表しています。
uddi:businessService: (ユーザーが選択したpublishingMethodに応じて)再使用されるか、またはwsdl:serviceからのデータで再書込みされる、既存のuddi:businessServiceを表しています。
wsdl:ports: (ユーザーが選択したpublishingMethodに応じて)再使用されるか、またはwsdl:service portsからのデータで再書込みされる、既存のuddi:bindingTemplatesを表しています。
![]() | 注意 |
---|---|
uddi:serviceKeyとuddi:businessServiceは相互に排他的であることに注意してください。 |
これらの属性によって、適切なWSDLからのwsdl:serviceが記述されます。Nameおよびnamespaceは、wsdl:service QNameを表しています。
publishingMethodによって、使用可能なマッピング・ユースケースが列挙されます。publishingMethodは、rewrite、create、reuseまたはignoreに設定できます。デフォルトのpublishingMethodは、reuseです。
portは、UDDIでのwsdl:portのマッピングを表しています。wsdl:portを適切なuddi:bindingTemplateに正確にマップするために必要な情報が含まれています。
uddi:bindingKey: (ユーザーが選択したpublishingMethodに応じて)再使用されるか、またはwsdl:portからのデータで再書込みされる、既存のuddi:bindingTemplateのbindingKeyを表しています。
uddi:bindingTemplate: (ユーザーが選択したpublishingMethodに応じて)再使用されるか、またはwsdl:serviceからのデータで再書込みされる、既存のuddi:bindingTemplateを表しています。
![]() | 注意 |
---|---|
uddi:bindingKeyとuddi:bindingTemplateは相互に排他的であることに注意してください。 |
これらの属性によって、適切なWSDLからのwsdl:portが記述されます。Nameは、wsdl:portの名前を表しています。publishingMethodによって、使用可能なマッピング・ユースケースが列挙されます。publishingMethodは、rewrite、createまたはreuseに設定できます。デフォルトのpublishingMethodは、reuseです。
wsdlServiceInfoには、検索中のwsdlLocationおよびuddi:businessServiceに関する情報が記述されます。
wsdlLocation: WSDLのURIまたは物理的な場所。
wsdl2uddi:portInfos: 適切なuddi:bindingTemplateにマップされるwsdl:portが含まれているwsdl2uddi:ports用のコンテナ。
これらの属性によって、適切なWSDLからのwsdl:serviceのマップ方法が記述されます。Nameおよびnamespaceは、wsdl:service QNameを表しています。
serviceKeyは、wsdl:serviceがマップされるuddi:businessServiceを表しています。
Publish_wsdlによって、UDDIレジストリへのWSDLの公開が保証されます。Publishing APIを使用して、変換されたwsdl:typesがUDDIレジストリに保存されます。Publishing APIの詳細は、UDDI v3 - APIの公開に関する説明を参照してください。
デフォルトでは、UDDIエンティティは、wsdl:typesに含まれているデータで次のように再書込みされます。各wsdl:typeは、まず、指定したレジストリで検索されます。UDDIエンティティが検出された場合は再書込みされ、UDDIエンティティが検出されなかった場合は、新しいエンティティが作成されます。ただし、ユーザーは、wsdl:typesをレジストリに公開する方法を指定できます。
デフォルトの公開動作は変更することができます。また、適切なUDDIエンティティにマップされるwsdl:types(つまり、UDDIエンティティが作成されるのか、再書込みされるのか、再使用されるのか)を定義することもできます。
公開動作およびそのユースケースの詳細は、「publishingMethod」を参照してください。次に、wsdl:typeがユーザー・アカウントまたは外部アカウントで検出されたかどうかに応じてwsdl:typesが適切なUDDIエンティティに割り当てられるルールの一部を示します。wsdl:portTypeまたはwsdl:bindingとは異なり、wsdl:servicesは、ユーザーのアカウント上でのみ検索されます。WSDLから変換されたtModelではなく、外部アカウントからのtModelを使用するほうが有効であるためです。
PublishingMethodには、公開操作の動作が記述されます。設定動作に基づき、対応するwsdl:typeがUDDIレジストリにマップされます。
publish_wsdlは、デフォルトではreuseに設定されています。ただし、ユーザーがエンティティを再書込みするか、または新しいエンティティを作成する場合は、デフォルトの動作をreuseからrewriteまたはcreateに変更して、一意のマッピングが行われるようにすることができます。
ユースケース
rewrite: wsdl:typeがレジストリ上で検索され、wsdl:typeのデータによって、検出されたUDDI構造が再書込みされます。wsdl:typeが検出されなかった場合は、新しく作成されます。
reuse: 公開操作のデフォルト動作。この動作を使用すると、ユーザーは既存のUDDI構造全体を再使用することができます。検出されたUDDIエンティティは、wsdl:typeのデータによっては再書込みされません。このメソッドの使用時に、公開されたwsdl:typeと対応するUDDIエンティティとの間で非一貫性が発生する可能性があります。この動作は、wsdl:portTypesまたはwsdl:bindingsからマップされたtModel(uddi:hostingRedirectorsなど)のかわりに、既存のtModelを使用する必要がある場合に役立ちます。
create: このメソッドは、主にテストで使用します。この動作を使用すると、UDDIエンティティがレジストリにすでに存在しているかどうかに関係なく、wsdl:typeから新しいUDDIエンティティが作成されます。
![]() | 重要 |
---|---|
この動作の使用時には、不要な重複が発生する可能性があります。この動作は、慎重に使用する必要があります。 |
ignore: このメソッドは、UDDIエンティティを公開しない場合に使用します。WSDL文書の公開する部分を制限することができます。
uddi:authInfo: この必須引数は、uddi:authTokenの文字列表現です。
wsdl2uddi:wsdlDetail: WSDLの場所およびユーザー定義のWSDLマッピング・ルールが記述されます。詳細は、「wsdl2uddi:wsdlDetaill」を参照してください。
ここで、ユーザーは、ターゲット・レジストリ上のエンティティに対応するWSDLのwsdl:type、および指定したwsdl:typeのマップ方法を指定することができます。詳細は、「wsdl2uddi:publishingMethod」を参照してください。
wsdl2uddi:wsdlDetail: 個々のwsdl:typesを公開する方法の詳細が含まれています。詳細は、「wsdl2uddi:wsdlDetaill」を参照してください。
unpublish_wsdlによって、UDDIレジストリからのWSDLの非公開が保証されます。Publishing APIを使用して、wsdl:typesに対応するUDDIエンティティがUDDIレジストリから削除されます。Publishing APIの詳細は、UDDI v3 - APIの公開に関する説明を参照してください。
各wsdl:typeは、まず、指定したレジストリ上で検索されます。UDDIエンティティが検出された場合は削除され、検出されなかった場合は単に省略されます。検出されたtModelは、物理的に削除されるか、または構成に従ってdeprecatedとマークされます(通常、tModelは、その所有者によって削除されると、deprecatedとマークされます。 通常は、管理者のみが、非推奨tModelをレジストリから完全に削除できます)。
uddi:authInfo: この必須引数は、uddi:authTokenの文字列表現です。
wsdl2uddi:wsdlDetail: WSDLの場所およびユーザー定義のWSDL非公開ルールが記述されます。詳細は、「wsdl2uddi:wsdlDetaill」を参照してください。ここで、ユーザーは、ターゲット・レジストリ上に存在するUDDIエンティティに対応するWSDLのwsdl:typeを指定できます。wsdl:typeは、レジストリ上で複数回発生する可能性があるためです。
wsdl2uddi:wsdlDetail: 個々のwsdl:typesをターゲット・レジストリから非公開にする方法の詳細が含まれています。詳細は、「wsdl2uddi:wsdlDetaill」を参照してください。
Get_wsdlServiceInfoによって、特定のWSDLのwsdl:servicesに対応するuddi:businessServicesが検出されます。Inquiry APIを使用して、wsdl:typesと一致するUDDIエンティティが取得されます。Inquiry APIの詳細は、UDDI - Inquiry APIに関する説明を参照してください。
この操作では、ユーザーのアカウント上または外部アカウント上のいずれかで、(指定したuddi:authInfoに従って)対応するUDDIエンティティが検出されます。wsdl:typesに対応するUDDIエンティティが複数回発生することを考慮して、検索アルゴリズムでは、指定したWSDLの個々のwsdl:types間の関係に従って出力が最適化されます。WSDLのwsdl:serviceに正確に対応している(適切なWSDLのすべてのwsdl:typesが含まれている)wsdl2uddi:wsdlServiceInfoのみが戻されます。
uddi:authInfo: このオプションの引数は、uddi:authTokenの文字列表現です。
wsdl2uddi:wsdl: wsdl2uddi:wsdlServiceInfosの検出に使用される引数。この引数では、WSDLのwsdl:serviceに正確に対応しているuddi:businessServiceのみが戻されます。詳細は、「wsdl2uddi:wsdl」を参照してください。
uddi:serviceKey: ターゲット・レジストリ上に存在するuddi:businessServiceのuddi:serviceKey。WSDLタイプ・カテゴリ・システムを含むuddi:businessServicesのみ(つまり、検出されたuddi:businessServiceのuddi:categoryBagに、WSDLタイプ・カテゴリ・システムおよびkeyValueサービスを表すuddi:tModelKeyとともにuddi:keyedReferenceが含まれている必要がある)が戻されることに注意してください。
uddi:bindingKey: ターゲット・レジストリ上に存在するuddi:bindingTemplateのuddi:bindingKey。UDDI v3の場合は、WSDLタイプ・カテゴリ・システムとともに指定されたuddi:bindingKeyに対応するuddi:bindingTemplateを含むuddi:businessServicesのみ(つまり、検出されたuddi:bindingTemplateのuddi:categoryBagに、WSDLタイプ・カテゴリ・システムおよびkeyValueバインディングを表すuddi:tModelKeyとともにuddi:keyedReferenceが含まれている必要がある)が戻されます。つまり、このWSDLタイプ・カテゴリ・システムは、適切なuddi:businessServiceにも含まれている必要があります。
検出されたuddi:bindingTemplateにuddi:tModelInstanceDetailのWSDLタイプ・カテゴリ・システムに準拠したuddi:tModelsが含まれている必要がある場合でも、v2のuddi:bindingTemplateには、uddi:categoryBagが含まれていないことに注意してください。
uddi:tModelKey: ターゲット・レジストリ上に存在するuddi:tModelのuddi:tModelKey。WSDLタイプ・カテゴリ・システムに準拠したuddi:tModelが使用されているuddi:businessServiceのみが戻されることに注意してください。したがって、検出されたuddi:tModelのuddi:categoryBagに、WSDLタイプ・カテゴリ・システムおよびkeyValue bindingまたはportTypeを表すuddi:tModelKeyとともにuddi:keyedReferenceが含まれている必要があります。つまり、このWSDLタイプ・カテゴリ・システムは、適切なuddi:businessServiceにも含まれている必要があります。
![]() | 注意 |
---|---|
wsdl2uddi:wsdl、uddi:serviceKey、uddi:bindingKeyおよびuddi:tModelKeyは、相互に排他的であることに注意してください。 |
wsdl2uddi:wsdlServiceInfos: 指定したWSDLのwsdl:typesに対応しているUDDIエンティティが含まれています。詳細は、「wsdl2uddi:wsdlServiceInfos」を参照してください。
この操作は、wsdl2uddi:get_wsdlServiceInfoより少し複雑になります。Find_wsdlServiceInfoによって、特定のWSDLのwsdl:servicesに対応するuddi:businessServicesが検出されます。Inquiry APIを使用して、wsdl:typesと一致するUDDIエンティティが検索されます。Inquiry APIの詳細は、UDDI - Inquiry APIに関する説明を参照してください。
この操作では、ユーザーのアカウント上または外部アカウント上のいずれかで、(指定したuddi:authInfoに従って)対応するUDDIエンティティが検出されます。wsdl:typesに対応するUDDIエンティティが複数回発生することを考慮して、検索アルゴリズムでは、指定したWSDLおよびユーザーによって指定されたuddi:find_xx構造の個々のwsdl:types間の関係に従って出力が最適化されます。WSDLのwsdl:serviceに正確に対応しているwsdl2uddi:wsdlServiceInfoのみが戻されます。つまり、適切なWSDLのすべてのwsdl:typesが一度に含まれ、ユーザー定義のuddi:find_xxを満たすwsdl2uddi:wsdlServiceInfoのみが戻されます。
uddi:authInfo: このオプションの引数は、uddi:authTokenの文字列表現です。
wsdl2uddi:wsdl: wsdl2uddi:wsdlServiceInfosの検出に使用される必須の引数。この引数では、WSDLのwsdl:serviceに正確に対応しているuddi:businessServiceのみが戻されます。詳細は、「wsdl2uddi:wsdl」を参照してください。
uddi:find_service: 検索条件をより詳細に記述する場合に使用する引数。詳細は、uddi:find_serviceに関する説明を参照してください。検出されたuddi:businessServicesは、wsdl2uddi:get_wsdlServiceInfoの場合と同じルールに従っている必要があります。
uddi:find_binding: 検索条件をより詳細に記述する場合に使用する引数。詳細は、uddi:find_bindingに関する説明を参照してください。検出されたuddi:businessServicesおよびuddi:bindingTemplatesは、wsdl2uddi:get_wsdlServiceInfoの場合と同じルールに従っている必要があります。
uddi:find_tModel: 検索条件をより詳細に記述する場合に使用する引数。詳細は、uddi:find_tModelに関する説明を参照してください。検出されたUDDIエンティティは、wsdl2uddi:get_wsdlServiceInfoの場合と同じルールに従っている必要があります。
![]() | 注意 |
---|---|
uddi:find_service、uddi:find_bindingおよびuddi:find_tModelは、相互に排他的であることに注意してください。 |
wsdl2uddi:wsdlServiceInfos: 指定したWSDLのwsdl:typesに対応しているUDDIエンティティが含まれています。詳細は、「wsdl2uddi:wsdlServiceInfos」を参照してください。
この操作では、WSDL文書のマッピングが検索されます。
uddi:authInfo: この引数は、uddi:authTokenの文字列表現です。
uddi:findQualifiers: Find Qualifierに関する説明を参照してください。
この操作では、wsdl2uddi:wsdlMappingが戻されます。
WSDL2UDDI APIエンドポイントは、http://<ホスト名>:<ポート>/<コンテキスト>/uddi/wsdl2uddiで確認できます。