Service Registry 3 2005Q4 開発者ガイド

仕様リンクでの付帯オブジェクトの使用

ExtrinsicObject は単独でも発行できますが、ServiceBinding オブジェクトに対する SpecificationLinkspecificationObject 属性として使用する目的で ExtrinsicObject を作成することも、一般的に行われます。「サービスとサービスバインディングの作成」を参照してください。ExtrinsicObject は通常、WSDL ファイルを参照します。

  1. SpecificationLink オブジェクトを作成します。

  2. WSDL 文書をリポジトリ内に格納し、それを参照する ExtrinsicObject を作成します。付帯オブジェクトのオブジェクト型を WSDL に、MIME タイプを text/xml に、それぞれ設定します。

  3. この付帯オブジェクトを、SpecificationLink オブジェクトの specificationObject 属性として指定します。

  4. この SpecificationLink オブジェクトを ServiceBinding オブジェクトに追加します。

  5. この ServiceBinding オブジェクトを Service オブジェクトに追加します。

  6. Service オブジェクトを保存します。

ServiceServiceBinding を作成してから、SpecificationLink を作成します。


SpecificationLink specLink = blcm.createSpecificationLink();
specLink.setName("Spec Link Name");
specLink.setDescription("Spec Link Description");

「付帯オブジェクトの作成」で説明した方法で ExtrinsicObject を作成します。WSDL 概念の ID と text/xml MIME タイプを使用します。


String conceptId =
"urn:oasis:names:tc:ebxml-regrep:ObjectType:RegistryObject:ExtrinsicObject:WSDL";
Concept objectTypeConcept =
     (Concept) bqm.getRegistryObject(conceptId);
((ExtrinsicObjectImpl)eo).setObjectType(objectTypeConcept);
eo.setMimeType("text/xml");

ExtrinsicObject を、SpecificationLink の仕様オブジェクトとして設定します。


specLink.setSpecificationObject(eo);

SpecificationLinkServiceBinding に追加してからオブジェクトをそのコレクションに追加し、サービスを保存します。


binding.addSpecificationLink(specLink);
serviceBindings.add(binding);
...

Service Registry からサービスを削除すると、そのサービスバインディングと仕様リンクも削除されます。ただし、仕様リンクに関連付けられていた付帯オブジェクトは削除されません。

仕様リンクで使用する付帯オブジェクトの作成: 例

仕様リンクで使用する付帯オブジェクトの作成方法の例については、 < INSTALL>/registry/samples/publish-service/src ディレクトリにある JAXRPublishService.java を参照してください。このサンプルは、レジストリに WSDL ファイルを発行します。

ProcedureJAXRPublishService サンプルを実行する方法

手順
  1. <INSTALL>/registry/samples/publish-service ディレクトリに移動します。

  2. 次のコマンドを入力します。


    asant run