Subscription Extension APIは、ユーザーが承認プロセスの検出レジストリにサブスクリプションを作成できるように実装されています。したがって、サブスクリプションの作成は承認プロセスの対象ではありません。ユーザーは、検出レジストリに直接サブスクリプションを保存できます。ただし、このAPIでは、ユーザーは、通知が送信される電子メール・アドレスのbindingTemplateを保存することはできません。Subscription Extension APIによって、ユーザーは、save_subscription操作のsubscriptionExt構造でbindingTemplateを指定できます。このbindingTemplateは、オペレータのビジネス・エンティティの通知サービス・コンテナに保存されます。通知サービス・コンテナは、キーuddi:systinet.com:subscription:notification_service_containerが含まれたbusinessServiceです。このAPIは、読取り専用レジストリで使用することもできます。その場合、ユーザーはレジストリにデータを公開することはできません。これらのサブスクリプションは、このAPIを使用して保存することができます。
Subscription Extension APIでは、次の構造が使用されます。
通知サービス・コンテナは、オペレータのビジネス・エンティティに保存されるビジネス・サービスです。このコンテナには、キーuddi:systinet.com:subscription:notification_service_containerが含まれています。このビジネス・サービスは、レジストリに事前デプロイ済の他のデータとともにインポートされます。
subscriptionExt構造は、標準UDDI v3 APIのsave_subscription構造内のuddi_sub:subscription構造に置き換えられます。
標準UDDI v3 APIは、次の操作によって拡張されます。
この操作は、新しいサブスクリプションの作成時に使用します。bindingTemplateを指定した場合、サブスクリプションは、通知サービス・コンテナのコール元のユーザー・アカウントに保存されます。bindingKeyはレジストリによって生成され、bindingTemplateのその他の構造はそのまま残されます。サブスクリプションおよびbindingTemplateのbindingKeyは、いずれも無視されます。サブスクリプション構造では、bindingTemplate自体ではなく、保存されているbindingTemplateを参照するbindingKeyが戻されます。
既存のサブスクリプションが更新されます。サブスクリプションの標準保存のアルゴリズムは、次の手順で拡張されます。
サブスクリプションによって通知サービス・コンテナのbindingTemplateが参照されると、バインディング・テンプレートは削除されます。詳細は、「delete_subscription」を参照してください。
サブスクリプションにbindingTemplateを指定すると、bindingTemplateは通知サービス・コンテナに保存されます。
サブスクリプションによって通知サービス・コンテナのbindingTemplateが参照されると、そのbindingTemplateは削除されます。
WSDL仕様は、ファイルuddi_sub_v3_ext.wsdlで確認できます。
Subscription Ext APIエンドポイントは、http://<ホスト名>:<ポート>/<コンテキスト>/uddi/subscriptionExtで確認できます。
Java APIは、WSDLから直接生成されます。詳細は、「org.systinet.uddi.client.subscription.v3.ext.UDDISubscriptionExtStub」を参照してください。