0

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

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

我已经在我的 Java 项目中导入了 WSDlhttps://localhost:8243/services/ProxyServiceAdmin?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'>...."

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

非常感谢您的关注!

编辑我查看了它说的 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
4

3 回答 3

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);

谢谢你,达沙纳

于 2012-09-13T12:21:31.470 回答
1

请在此处找到使用管理服务创建代理的示例。我将 Darshana 的代码添加到了一个完整的示例中。

于 2012-09-15T17:17:30.557 回答
0

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

于 2012-09-13T09:56:13.127 回答