1

我们有 2 个 WSO2 ESB 节点。

我们在两个 ESB 上配置了类似的代理(即两个代理具有相同的名称、指向相同的 WSDL 并且没有关联的端点)

我们希望客户端流量使用 Apache Software 负载平衡器在这 2 个 ESB 之间进行负载平衡。

但是问题是,客户端将从代理 WSDL 生成 SOAP 存根,并且通常代理 WSDL 具有指定为 ESBHost:port/proxyName 的 Soap 地址。这意味着来自客户端的请求将直接从他们在哪里生成存根。

我们怎样才能克服这一点?即强制客户端使用负载平衡器主机名/IP?ESB 代理上是否有任何配置来显式设置 SoapAddress ...如果可用,那么我们可以让代理 WSDL 将 SoapAddress 定义为 loadbalancerHost:port/proxyName

谢谢拉吉夫帕蒂尔

4

1 回答 1

1

您可以将以下参数添加到 WSO2 ESB 的 http 和 https 传输接收器。

<parameter name="WSDLEPRPrefix" locked="false">[load-balancer-url]</parameter>

例如:

<parameter name="WSDLEPRPrefix" locked="false">http://esb.cloud-test.wso2.com:8280</parameter>

您需要编辑以下文件。<WSO2-ESB-HOME>repository/conf/axis2/axis2.xml

这一步对于配置 WSO2 ELB 也是必要的。有关更多信息,请参阅以下 ELB 文档。

http://docs.wso2.org/wiki/pages/viewpage.action?pageId=26839403

于 2013-07-30T07:29:39.017 回答