Info | ||
---|---|---|
| ||
Web Service is one of many well-defined extension points supported by the WSO2 Governance Registry. Read more on Supported Extension Points for a complete list of extension points supported by WSO2 Governance Registry. |
...
Code Block | ||
---|---|---|
| ||
<dependency> <groupId>org.wso2.carbon</groupId> <artifactId>org.wso2.carbon.governance.api</artifactId> <version>4.02.1<0</version> </dependency> |
3. Add the following plugin to your POM file:
...
Code Block | ||
---|---|---|
| ||
package org.wso2.carbon.registry.samples.services;
import org.wso2.carbon.governance.api.exception.GovernanceException;
import org.wso2.carbon.governance.api.services.ServiceFilter;
import org.wso2.carbon.governance.api.services.ServiceManager;
import org.wso2.carbon.governance.api.services.dataobjects.Service;
import org.wso2.carbon.registry.core.Registry;
import org.wso2.carbon.registry.core.exceptions.RegistryException;
import java.util.LinkedList;
import java.util.List;
public class EndpointLookupService {
private Registry governanceRegistry;
public EndpointLookupService() {
try {
governanceRegistry = EndpointLookupServiceComponent.getRegistryService()
.getGovernanceSystemRegistry();
} catch (RegistryException e) {
e.printStackTrace();
}
}
public String[] getEndpoints(final String serviceName, final String serviceNamespace,
final String version, final String environment)
throws GovernanceException, RegistryException {
ServiceManager manager = new ServiceManager(governanceRegistry);
Service[] services = manager.findServices(new ServiceFilter() {
public boolean matches(Service service) throws GovernanceException {
return serviceName.equals(service.getQName().getLocalPart()) &&
(serviceNamespace == null || serviceNamespace.length() == 0 ||
serviceNamespace.equals(service.getQName().getNamespaceURI())) &&
(version == null || version.length() == 0 ||
version.equals(service.getAttribute("overview_version")));
}
});
if (services != null && services.length > 0) {
List<String> endpoints = new LinkedList<String>();
for (Service service : services) {
String[] entries = service.getAttributes("endpoints_entry");
if (entries != null && entries.length > 0) {
for (String entry : entries) {
int idx = entry.indexOf(":");
if (entry.substring(0, idx).equals(environment)) {
endpoints.add(entry.substring(idx + 1));
}
}
}
}
return endpoints.toArray(new String[endpoints.size()]);
}
return new String[0];
}
} |
...
9. Copy the GREG_HOME/
samples/handler/src/target/org.wso2.carbon.registry.samples.handler-4.6.0.jar
into GREG_HOME/repository/components/dropins
.
...
4. Fill in the following payload as the request:. At least one endpoint must exist for the Dev environment in order to receive a response.
Code Block | ||
---|---|---|
| ||
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ser="http://services.samples.registry.carbon.wso2.org"> <soap:Header/> <soap:Body> <ser:getEndpoints> <ser:serviceName>SimpleStockQuoteService</ser:serviceName> <ser:environment>Dev</ser:environment> </ser:getEndpoints> </soap:Body> </soap:Envelope> |
...