accessing WSO2 governence registry from a java program

436 Views Asked by At

Platform details:

IDE -> Eclipse kepler 
application server: Tomcat 
registry server : WSO2 governance registry 

Problem statement:

I am trying to publish my web service in WSO2 registry. Publishing my registry works fine.

But, how do i access existing web services those are published in registry using java code.

1

There are 1 best solutions below

0
On

You can get the instance of user registry from below java client. Once registry instance is acquired we can access any of the services in registry.

import org.apache.axiom.om.util.AXIOMUtil;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.ConfigurationContextFactory;
import org.wso2.carbon.base.ServerConfiguration;
import org.wso2.carbon.governance.api.generic.GenericArtifactManager;
import org.wso2.carbon.governance.api.generic.dataobjects.GenericArtifact;
import org.wso2.carbon.governance.api.util.GovernanceUtils;
import org.wso2.carbon.governance.client.WSRegistrySearchClient;
import org.wso2.carbon.registry.core.Registry;
import org.wso2.carbon.registry.core.exceptions.RegistryException;
import org.wso2.carbon.registry.core.pagination.PaginationContext;
import org.wso2.carbon.registry.core.session.UserRegistry;
import org.wso2.carbon.registry.ws.client.registry.WSRegistryServiceClient;

import javax.xml.stream.XMLStreamException;
import javax.xml.namespace.QName;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class SearchClient {

    private static ConfigurationContext configContext = null;

    private static final String CARBON_HOME = ".." + File.separator + ".." +
        File.separator + ".." + File.separator + ".." + File.separator;
    private static final String axis2Repo = CARBON_HOME + File.separator + "repository" +
        File.separator + "deployment" + File.separator + "client";
    private static final String axis2Conf =
        ServerConfiguration.getInstance().getFirstProperty("Axis2Config.clientAxis2XmlLocation");
    private static final String username = "admin";
    private static final String password = "admin";
    private static final String serverURL = "https://localhost:9443/services/";

    private static WSRegistryServiceClient initialize() throws Exception {

    System.setProperty("javax.net.ssl.trustStore", CARBON_HOME + File.separator + "repository" +
            File.separator + "resources" + File.separator + "security" + File.separator +
            "wso2carbon.jks");
    System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon");
    System.setProperty("javax.net.ssl.trustStoreType", "JKS");
    System.setProperty("carbon.repo.write.mode", "true");
    configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(
            axis2Repo, axis2Conf);
    return new WSRegistryServiceClient(serverURL, username, password, configContext);
    }


    public static void main(String[] args) throws Exception {
    try {

        final Registry registry = initialize();
        Registry gov = GovernanceUtils.getGovernanceUserRegistry(registry, "admin");
        // Should be load the governance artifact.
        GovernanceUtils.loadGovernanceArtifacts((UserRegistry) gov);
        //Initialize the GenericArtifactManager
        GenericArtifactManager artifactManager =
                new GenericArtifactManager(gov, "service");
        // get all services
        GenericArtifact[] genericArtifacts = artifactManager.getAllArtifacts();


    } finally {
        PaginationContext.destroy();
    }
    System.exit(1);

    }


}