Question

We have 2 WSO2 ESB nodes.

We have configured similar Proxy on both ESBs (i.e. both Proxy have same name, point to same WSDL and have no associated end points)

We want the client traffic to load balance across these 2 ESBs, using Apache Software load balancer.

However the issue is, The clients will be generating SOAP stubs from the Proxy WSDL and generally the Proxy WSDL has the Soap Address specified as the ESBHost:port/proxyName.. That will mean that requests from client will be going directly to the ESB from where they generated the stubs.

How can we overcome this ? i.e. force the clients to the load balancer hostname/ip ? Is there any configuration on ESB proxy to explicitly set the SoapAddress ... if that is available then we can have the Proxy WSDL define the SoapAddress as loadbalancerHost:port/proxyName

Thanks Rajiv Patil

Was it helpful?

Solution

You can add following parameter to http and https transport receivers of WSO2 ESB .

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

For example:

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

You need to edit following file. <WSO2-ESB-HOME>repository/conf/axis2/axis2.xml

This step is necessary for configuring WSO2 ELB also. See following ELB doc for more information.

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top