Version 9.6
 —  Access via UDDI  —

UDDI V3 APIs


Overview

The CentraSite Registry/Repository supports the Java API for XML Registries (JAXR). It also supports UDDI V3- and V2. These APIs enable you to interact with the CentraSite Registry/Repository directly from UDDI-compliant browsers and integration development environment (IDE) tools. For more information about IDE tools, see Using Third-Party IDE Tools with CentraSite.

CentraSite provides Javadocs that you can use to create UDDI V3 clients. The Javadocs provide the interfaces you need for implementing the Publish, Inquiry, Security and Taxonomy APIs in your clients. To access the Javadocs, use either of the following links:

jd/uddiv3ClientAPI/index.html

or:

<CentraSite_installation_root>\Documentation\en\jd\uddiv3ClientAPI

CentraSite supports the following APIs.

Use this API... To enable the client to...
Publish Execute any UDDI publishing API call. For example, you can publish services to CentraSite and publish proxy endpoints for services that already exist in CentraSite. You can publish the following UDDI objects: Organization, Service, ServiceBinding and tModel.
Inquiry Interrogate CentraSite to retrieve service information. When an active run-time policy’s virtual service executes, the Inquiry API will pull the virtual service's information from CentraSite. You can publish the following UDDI objects: Organization, Service, ServiceBinding and tModel.
Security Execute UDDI security API calls, using authorization tokens.
Taxonomy Fetch taxonomies and their immediate children. The taxonomies are represented in the tree structure. The Taxonomy API is a custom API.

Top of page

Classes and Interfaces

The major classes and interfaces available in the Javadocs are described below.

RegistryService

RegistryService is the core interface to communicate with the UDDI Registry using the UDDI V3 API. This interface contains utility methods to get service stubs for the Publish, Inquiry, Security and Taxonomy APIs. The UDDI operations are performed using their respective service stubs. It also contains a method to connect to the CentraSite Registry/Repository, using authentication tokens.

RegistryConfiguration

RegistryConfiguration is a bean class that is used to connect to the CentraSite Registry/Repository, based on the Registry/Repository’s configuration details, such as its host, port and URLs. The URLs include the Security URL, Inquiry URL, Publish URL and Taxonomy URL. This class also contains the user credentials of the Registry/Repository.

RegistryFramework

RegistryFramework is a helper interface that can be used to get attribute values, relationships and documents. This class contains the helper method getServiceModifiedDate, which uses get_operationalInfo to get the modified date of the service.

Note:
Unlike the UDDI specification, serviceBinding is a contained element of a businessService entity in CentraSite. Thus, when a service's bindingTemplate entity is updated, then the service will be updated as well. This means that when you use the helper method getServiceModifiedDate, it will return the same modification time for both the modified and modifiedIncludingChildren attributes.

RegistryAgent

RegistryAgent is an interface that enables a policy enforcement point to query the virtual services in the CentraSite Registry/Repository, and to publish run-time performance metrics to the CentraSite Registry/Repository.

This interface contains the following helper methods:

UDDI_Security_SoapService

UDDI_Security_SoapService is an interface that can be used for all UDDI Security operations. This interface contains the methods get_authToken and discard_authToken. An instance of this interface can be obtained from RegistryService.

UDDI_Inquiry_SoapService

UDDI_Inquiry_SoapService is an interface that contains methods for all Inquiry operations. An instance of this interface can be obtained from RegistryService.

UDDI_Publication_SoapService

UDDI_Publication_SoapService is an interface that contains methods for all UDDI Publish operations. An instance of this interface can be obtained from RegistryService.

UDDI_Taxonomy_SoapService

UDDI_Taxonomy_SoapService is an interface that uses the method get_conceptDetail to fetch taxonomies and their immediate children. The taxonomies are represented in the tree structure. An instance of this interface can be obtained from RegistryService.

CentraSiteBusinessService

CentraSiteBusinessService is a wrapper class for the BusinessService class. This class contains all methods contained in BusinessService, as well as these additional methods:

Top of page

Examples

Getting the Value of an Attribute

The following example shows how to get the value of an attribute named Life Cycle Status.

//Creating configuration object with host, port 
//and user credentials of the registry
RegistryConfiguration regConfig = 
   new RegistryConfiguration("localhost", "53307", 
   "DefaultUser", "PwdFor_CS21");

//Creating registry service instance using the RegistryConfiguration
RegistryService regService = 
   RegistryService.Factory.newInstance(regConfig);

//connection is made (get_authToken will be issued to registry)
regService.connect();

//Inquiring the registry for the service using find_service call 

UDDI_Inquiry_SoapService inquirySoapService = 
   regService.getInquirySoapService(); 
FindService findService = new FindService(); 
Name name = new Name(); 
name.setValue("UDDI Security Service"); 
findService.setName(new Name[] {name}); 
findService.setAuthInfo(regService.getAuthToken()); 
System.out.println("Name....."+ findService); 
ServiceList serviceList = inquirySoapService.find_service(findService); 
ServiceInfos serviceInfos = serviceList.getServiceInfos(); 

//Getting the service Key for the first service
ServiceInfo serviceInfo = serviceInfos.getServiceInfo(0);
String serviceKey = serviceInfo.getServiceKey();

//Getting the service detail
GetServiceDetail getServiceDetail = new GetServiceDetail();
getServiceDetail.setServiceKey(new String[] {serviceKey});
getServiceDetail.setAuthInfo(regService.getAuthToken());
ServiceDetail serviceDetail = 
   inquirySoapService.get_serviceDetail(getServiceDetail);
BusinessService businessService = 
   serviceDetail.getBusinessService(0);
//Creating instance of CentraSiteBusinessService
CentraSiteBusinessService csBusinessService = new 
CentraSiteBusinessService(businessService);
//Getting the value for the attribute "Life Cycle Status"
String attributeValue = 
   csBusinessService.getAttributeValue("Life Cycle Status");

Getting the Proxy Services for a Specified Target

The following example shows how to get the proxy services for a specified target.

//Creating configuration object with host, port 
//and user credentials of the registry
RegistryConfiguration regConfig = 
   new RegistryConfiguration("localhost", 
   "53307", "DefaultUser", "PwdFor_CS21");

//Creating registry service instance using the RegistryConfiguration
RegistryService regService = 
   RegistryService.Factory.newInstance(regConfig);

//connection is made (get_authToken will be issued to registry)
regService.connect();

//Getting the RegistryAgent instance using RegistryService
RegistryAgent registryAgent = regService.getRegistryAgent();

//Getting the ServiceInfos which will contain 
//a list of the services deployed in the "Actional" target
ServiceInfos proxyServices = 
   registryAgent.findProxyServices("Actional");

Inquiring about a Business Service

The following example shows how to fetch the details of a business service, using the UDDI Inquiry API.

//RegistryConfiguration containing the host, port, userId and 
//password to connect to registry
RegistryConfiguration regConfig = 
   new RegistryConfiguration("hostName", "port", "userId", "password");

//Creating the RegistryService using RegistryConfiguration
RegistryService regService = 
   RegistryService.Factory.newInstance(regConfig);

//connecting to registry. This method will fetch the AuthToken 
//using get_authTokenAPI
regService.connect();

//Inquiring the registry for the service using find_service call
UDDI_Inquiry_SoapService inquirySoapService = 
   regService.getInquirySoapService();

//Constructing the find_service inquiry call
FindService findService = new FindService();
Name name = new Name();
name.setValue("UDDI Inquiry Service");
findService.setName(new Name[] {name});

//Issuing find_service inquiry call to 
//CentraSite registry using UDDI_Inquiry_SoapService
ServiceList serviceList = inquirySoapService.find_service(findService);
ServiceInfos serviceInfos = serviceList.getServiceInfos();

//Getting the service Key for the first service
ServiceInfo serviceInfo = serviceInfos.getServiceInfo(0);
String serviceKey = serviceInfo.getServiceKey();

//Getting the service detail
GetServiceDetail getServiceDetail = new GetServiceDetail();
getServiceDetail.setServiceKey(new String[] {serviceKey});
getServiceDetail.setAuthInfo(regService.getAuthToken());
ServiceDetail serviceDetail = 
   inquirySoapService.get_serviceDetail(getServiceDetail);
BusinessService businessService = 
   serviceDetail.getBusinessService(0);
System.out.println("Fetched Service Name : " + 
   businessService.getName()[0].getValue());

Publishing a Business Service

The following example shows how to publish a business service, using the UDDI Publish API.

//RegistryConfiguration containing the host, port, 
//userId and password to connect to registry
RegistryConfiguration regConfig = 
   new RegistryConfiguration("hostName", "port", "userId", "password");

//Creating the RegistryService using RegistryConfiguration
RegistryService regService = 
   RegistryService.Factory.newInstance(regConfig);

//connecting to registry. This method will fetch the 
//AuthToken using get_authTokenAPI
regService.connect();

//Getting the UDDI_Publication_SoapService to publish the 
//sample business service
UDDI_Publication_SoapService publishSoapService = 
   regService.getPublishSoapService();

//Constructing the save service call for sample business service 
SaveService saveService = new SaveService();
BusinessService businessService = new BusinessService();
Name name = new Name();
name.setValue("Sample Business Service");
businessService.setName(new Name[] {name});

//Setting the auth token using the registry service
saveService.setAuthInfo(regService.getAuthToken());
saveService.setBusinessService(new BusinessService[] {businessService});

//Saving the business service using UDDI_Publication_SoapService
publishSoapService.save_service(saveService);

Fetching Taxonomies

The following example shows how to fetch taxonomies, using the Taxonomy API.

//RegistryConfiguration containing the host, port, 
//userId and password to connect to registry
RegistryConfiguration regConfig = 
   new RegistryConfiguration("hostName", "port", "userId", "password");

//Creating the RegistryService using RegistryConfiguration
RegistryService regService = 
   RegistryService.Factory.newInstance(regConfig);

//connecting to registry. This method will fetch the 
//AuthToken using get_authTokenAPI
regService.connect();

//Getting the taxonomy soap service which is used fetch the taxonomies
UDDI_Taxonomy_SoapService taxonomySoapService = 
   regService.getTaxonomySoapService();

//Constructing the get_conceptDetail request
GetConceptDetail getConceptDetail = new GetConceptDetail();

//Fetching the NAICS taxonomy
getConceptDetail.setConceptKey(new String[] 
   {"uddi:uddi.org:ubr:categorization:naics:1997"});

//Using UDDI_Taxonomy_SoapService we are fetching the 
//taxonomies from CentraSite registry
ConceptDetail conceptDetail = 
   taxonomySoapService.get_conceptDetail(getConceptDetail);

Top of page