Wso2 ESB管理服务获取创建代理Java

时间:2012-09-13 09:04:27

标签: java xml proxy wso2 wso2esb

1)您好我正在尝试使用管理服务在ESB中创建代理。

所以我暴露了管理服务(隐藏=假)

我已在我的Java项目https://localhost:8243/services/ProxyServiceAdmin?wsdl

中导入了WSDl

但我无法锻炼如何使用错误的管理服务调用方法addProxy?请帮助您使用此方法的示例。

ProxyServiceAdmin ps = new ProxyServiceAdmin();
ps.addProxy(); //wrong

2)我将代理定义为单行字符串,如

String xmlproxy="<?xml version='1.0' encoding='UTF-8'?><proxy xmlns='http://ws.apache.org/ns/synapse' name='MyProxy1' transports='https' startOnLoad='true' trace='disable'> <target inSequence='sequence1'>...."

是否可以通过调用admin服务的某些方法来添加此代理?

非常感谢你的关注!

编辑我看了一下WSDL“ProxyServiceAdmin?wsdl” 它说<wsdl:operation name="addProxy"><http:operation location="addProxy"/><wsdl:input><mime:content type="text/xml" part="parameters"/></wsdl:input><wsdl:output><mime:content type="text/xml" part="parameters"/></wsdl:output>

所以它就在那里,但为什么我不能打电话呢?为什么我的代码不像普通的Web服务那样工作?真的,请帮忙。我不知道我做错了什么......

ProxyServiceAdmin ps = new ProxyServiceAdmin();
ps.addProxy(); //not recognized as an operation of ProxyServiceAdmin even if it is in the wsdl

3 个答案:

答案 0 :(得分:2)

您只需通过管理服务将“org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminStub”用于广告代理

请仔细查看以下代码和评论。

    String endPoint = *<your backend service url>* +"ProxyServiceAdmin";
    proxyServiceAdminStub = new ProxyServiceAdminStub(endPoint);

在使用服务存根之前,您必须对其进行身份验证

    CarbonUtils.setBasicAccessSecurityHeaders(userName, password,                      
                              proxyServiceAdminStub._getServiceClient());

需要将代理的ProxyData对象生成为synaps xml

    String[] transport = {"http", "https"};
    ProxyData data = new ProxyData();
    data.setName(proxyName);
    data.setWsdlURI(*<url to your WSDL>*);
    data.setTransports(transport);
    data.setStartOnLoad(true);       
    data.setEndpointXML("<endpoint xmlns=\"http://ws.apache.org/ns/synapse\"><address uri=\"" + serviceEndPoint + "\" /></endpoint>");
    data.setEnableSecurity(true);
    proxyServiceAdminStub.addProxy(data);

谢谢你, Dharshana

答案 1 :(得分:1)

请使用管理服务here查找示例以创建代理。我在一个完整的例子中添加了Darshana的代码。

答案 2 :(得分:0)

这是JSP page用于创建传递代理。您可以填写类似的代理数据。如果您浏览其他jsps,您可以找到用于不同代理模板的类似逻辑。 Here您可以找到完整的模块,包括UI和服务代码。