Do you want to know how to create a proxy in WSO2 ESB without using UI. Here is a sample code
that will help you to understand how to use an admin service to achieve the task.
that will help you to understand how to use an admin service to achieve the task.
package org.wso2.test;
import org.apache.axis2.AxisFault;
import org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminProxyAdminException;
import org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminStub;
import org.wso2.carbon.proxyadmin.stub.types.carbon.ProxyData;
import org.wso2.carbon.utils.CarbonUtils;
import java.rmi.RemoteException;
public class TestProxy {
public static void main(String[] args)
throws RemoteException, ProxyServiceAdminProxyAdminException {
String userName = "admin";
String password = "admin";
// Add the service URL
String serviceEndPoint="http://localhost:8281/services/echo" ;
// Proxy Admin service's endpoing URL
String endPoint = "https://localhost:9444/services/" +"ProxyServiceAdmin";
// Set client trust store
System.setProperty("javax.net.ssl.trustStore", "/media/data/wso2/products/wso2/esb/" +
"wso2esb-4.5.0/repository/resources/security" +
"/client-truststore.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "wso2carbon");
System.setProperty("javax.net.ssl.trustStoreType","JKS");
ProxyServiceAdminStub proxyServiceAdminStub = new ProxyServiceAdminStub(endPoint);
CarbonUtils.setBasicAccessSecurityHeaders(userName, password,
proxyServiceAdminStub._getServiceClient());
//Set proxy configuration data
String[] transport = {"http", "https"};
ProxyData data = new ProxyData();
data.setName("TestProxy2");
data.setWsdlURI("http://localhost:8281/services/echo?wsdl");
data.setTransports(transport);
data.setStartOnLoad(true);
data.setEndpointXML("<endpoint http:="http:" ns="ns" synapse="synapse" ws.apache.org="ws.apache.org" xmlns="\"><address serviceendpoint="serviceendpoint" uri="\">
</address>
</endpoint>");
data.setEnableSecurity(true);
proxyServiceAdminStub.addProxy(data);
}
}
Download complete maven project here