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:
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. |
The major classes and interfaces available in the Javadocs are described below.
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
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
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
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:
findVirtualServices
, which finds the virtual services
that are deployed to the runtime target
getVirtualServiceWSDLURL
, which returns the WSDL URL for
the specified virtual service
saveMetrics
, which saves the run-time performance
metrics for the virtual services
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
is an interface that contains
methods for all Inquiry operations. An instance of this interface can be
obtained from RegistryService
.
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
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
is a wrapper class for the
BusinessService
class. This class contains all methods contained
in BusinessService
, as well as these additional methods:
getAttachedPolicyDocURL
, which returns the attached
policy associated with the service.
getAttachedPolicyTModelKey
, which returns the attached
policy tModel key associated with the service.
getAttributes
, which returns the attributes associated
with the service in a Map.
getDocuments
, which returns the documents associated
with the service in a Map.
getRelatedObjectKey
, which returns the UDDI key of the
object that has the specified relationship.
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");
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");
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());
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);
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);