아래 자바 클라이언트에서 사용자 레지스트리의 인스턴스를 가져올 수 있습니다. 일단 레지스트리 인스턴스가 획득되면 레지스트리의 모든 서비스에 액세스 할 수 있습니다.
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);
}
}