Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Info
iconfalse

The Java Governance API is one of many APIs supported by the WSO2 Governance Registry. Read more on Supported APIs & Standards for a complete list of APIs supported by WSO2 Governance Registry.

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.

...

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

Code Block

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

public static void main(String[] args) {
    Registry governanceRegistry = GovernanceUtils.getGovernanceUserRegistry(rootRegistry, username); //rootRegistry refers to an instance of RemoteRegistry or WSRegistryServiceClient

}

For optimum performance at the client-side, it is also useful to enable client-side caching.

Code Block
import org.wso2.carbon.governance.api.cache.ArtifactCacheManager;

public static void main(String[] args) {
    ArtifactCacheManager.enableClientCache();
}

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

Code Block

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

public static void main(String[] args) {
    String url = "https://localhost:9443/registry";
    String username = "admin";
    String password = "admin";
    System.setProperty("carbon.repo.write.mode", "true");
    Registry rootRegistry = new RemoteRegistry(new URL(remoteRegistryUrl)(url), 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.

Code Block
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;
 
private static final String GREG_HOME = "/home/test/wso2greg-4.5.0";

public static void main(String[] args) {
    String url = "https://localhost:9443/services/";
    String username = "admin";
    String password = "admin";
    System.setProperty("carbon.repo.write.mode", "true");
    ConfigurationContext configurationContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(
                           GREG_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.

Excerpt
hiddentrue

General information about the Governance API.