This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

In the Governance Registry, you can store and govern the behaviors of SOA artifacts like services, WSDLs, schemas, policies and Endpoints. Governance API provides a way to do it programatically.

The relationship of the classes used in the Governance API is shown in the following class diagram.

The Governance API needs to be accessed through a Governance Registry (as opposed to a root registry) instance.

Inside an admin service, a Governance Registry instance can be obtained by inheriting from the org.wso2.carbon.core.AbstractAdmin class and calling its getGovernanceRegistry() method.

When Remote Registry or WS-Registry is used, this instance can be created as shown below.

import org.wso2.carbon.governance.api.util.GovernanceUtils;

Registry governanceRegistry = GovernanceUtils.getGovernanceUserRegistry(rootRegistry, username); //rootRegistry refers to an instance of RemoteRegistry or WSRegistryServiceClient

As a specific example, Governance Registry can be obtained via Remote Registry as shown below. See also Accessing Registry Remotely through API.

import org.wso2.carbon.registry.app.RemoteRegistry;
import org.wso2.carbon.governance.api.util.GovernanceUtils;

System.setProperty("carbon.repo.write.mode", "true");
Registry rootRegistry = new RemoteRegistry(new URL(remoteRegistryUrl), username, password);
Registry governanceRegistry = GovernanceUtils.getGovernanceUserRegistry(rootRegistry, username);

As another specific example, Governance Registry can be obtained via WS-Registry as shown below. See also Setting up the WS API Registry Client and WS-Security.

import org.wso2.carbon.registry.ws.client.registry.WSRegistryServiceClient;
import org.wso2.carbon.governance.api.util.GovernanceUtils;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.wso2.carbon.base.ServerConfiguration;
 
System.setProperty("carbon.repo.write.mode", "true");
ConfigurationContext configurationContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(
                       carbon_home + File.separator + "repository" + File.separator + "deployment" + File.separator + "client",
                           ServerConfiguration.getInstance().getFirstProperty("Axis2Config.clientAxis2XmlLocation")));
WSRegistryServiceClient rootRegistry = new WSRegistryServiceClient(url, username, password,configurationContext);
Registry governanceRegistry = GovernanceUtils.getGovernanceUserRegistry(rootRegistry, username);

See more information about the Governance API on the following pages:

See also Governance API for WSO2 Governance Registry.

  • No labels