我们有2个WSO2 ESB节点。
我们在两个ESB上配置了类似的Proxy(即两个Proxy都具有相同的名称,指向相同的WSDL并且没有关联的端点)
我们希望客户端流量使用Apache Software负载均衡器在这两个ESB之间实现负载平衡。
然而问题是,客户端将从代理WSDL生成SOAP存根,并且通常代理WSDL将Soap地址指定为ESBHost:port / proxyName ..这意味着来自客户端的请求将直接进入他们生成存根的ESB。
我们如何克服这个问题?即强制客户端到负载均衡器hostname / ip?在ESB代理上是否有任何配置来显式设置SoapAddress ...如果可用,那么我们可以让Proxy WSDL将SoapAddress定义为loadbalancerHost:port / proxyName
由于 拉吉夫·帕蒂尔
答案 0 :(得分: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