ebXML Registry には、XML コンテンツのカタログサービスがあります。つまり、ExtrinsicObject オブジェクトとして特定の種類のファイルを発行すると、レジストリがほかの種類のオブジェクトを作成するということです。この機能のもっとも重要な使用法は、WSDL ファイルから Service オブジェクトを作成することです。
ExtrinsicObject として WSDL ファイルを発行する場合、カタログサービスは、WSDL ファイルのコンテンツに基づいて、追加の ExtrinsicObject オブジェクトとともに、1 つ以上のサービスおよびサービスバインディングを作成します。
WSDL ファイルに基づいて Service を発行するには、「付帯オブジェクトの作成」の説明どおりに 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"); |
この値を表す定数は、CanonicalConstants.CANONICAL_OBJECT_TYPE_ID_WSDL です。ただし、WSDL オブジェクト型の概念に対するインタフェースは、org.freebxml.omar.common.profile.ws.wsdl.CanonicalConstants であり、org.freebxml.omar.common.CanonicalConstants ではありません。
WSDL ファイルを発行すると、Binding 型および PortType 型の追加の ExtrinsicObject オブジェクトとともに、WSDL ファイルの service および portType 要素に対応するサービスおよびサービスバインディングが Service Registry に表示されます。
その他の WSDL または XML 、あるいはその両方のスキーマファイルのインポートまたはインクルードを含む WSDL ファイルを発行するには、すべてのファイルを zip ファイルでパッケージ化し、WSDL 概念のオブジェクト型および MIME タイプ "application/zip" を使用して、その zip ファイルを ExtrinsicObject として発行する必要があります。
Service Registry からサービスを削除すると、サービスバインディングも削除されます。ただし、サービスに関連付けられていた付帯オブジェクトは削除されません。同様に、Service Registry および リポジトリから付帯オブジェクトおよびその WSDL ファイルを削除すると、それに関連するサービスも削除されます。
WSDL ファイルの発行によるサービスの作成の例については、INSTALL /registry-samples/publish-service/src ディレクトリにある JAXRPublishService.java を参照してください。この例では、MyCoffeeService.wsdl という名前の単純な WSDL ファイルを発行します。