java - 用于获取创建代理 Java 的 Wso2 ESB 管理服务

标签 java xml proxy wso2 wso2-esb

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

所以我已经公开了管理服务(Hidden=false)

我已在我的 Java 项目中导入了 WSDl https://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

最佳答案

您只需使用“org.wso2.carbon.proxyadmin.stub.ProxyServiceAdminStub”即可通过管理服务进行广告代理

请查看以下内嵌代码和注释。

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

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

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

谢谢你, 达沙纳

关于java - 用于获取创建代理 Java 的 Wso2 ESB 管理服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12402873/

相关文章:

java - Play Framework 2.4 - 注入(inject)的字段始终为空

java - Android Chronometer 倒计时完成

java - 在eclipse上创建android项目时出错

c# - 在 IIS 中运行的 C# 网站中添加新的 .cs 文件

apache - Mod_Proxy 502-间歇性代理错误

java - 在 Java 中检查 null 的更好方法

java - 如何使用非官方 Android Market API?

Java线程管理

java - 无法使用java将文件从一个xml写入另一个xml

python - BrowserMob代理+selenium捕获https请求