Hi there, please bear with me - I'm new to membrane. Awesome product...
I have 1 web service that can be handled by 2 different servers - one is the primary and the other is a failover server. The failover server is only up and running when the primary switches over to it. They both serve the same service, except the WSDL locations are different ..
They are the exact same service, just a different server and different path. What I would like to do is use Membrane to LoadBalance the SOAP service, depending on which server is up and running - the main goal is that the clients won't have to change their URL's for accessing the service if we failover.
What I have been able to do is proxy the service to one server. I can't get the soapProxy to come up for the other server because it is off-line since the primary is up and running.
I'm not sure if I'm doing this correctly - I thought I would set up a soapProxy for each server, then a serviceProxy balancer to 'balance' between the 2 servers (utlimately only one would ever be up and running. But the second soapProxy fails because the server isn't actually up and running - is there a way to bypass the check? Is there a way to perhaps add another target to the first soapProxy service where it would go to one or the other depending on what is active?
Below is my test configuration - perhaps someone can provide some direction - am I doing this correctly or should I be doing this another way?
<router>
<soapProxy port="2000" wsdl="
http://server1/q1i2/GetPatientInfo.CLS?WSDL=1">
<path>/hhcpatientvisits</path>
<ssl />
</soapProxy>
<!-- <soapProxy port="2001" wsdl="
http://server2/q2i2/GetPatientInfo.CLS?WSDL=1">
<ssl />
</soapProxy> -->
<serviceProxy port="9000">
<basicAuthentication>
<user name="admin" password="membrane" />
</basicAuthentication>
<adminConsole />
</serviceProxy>
<serviceProxy name="Balancer" port="9080">
<path>/service</path>
<balancer />
</serviceProxy>
<serviceProxy name="Up/Down Push Interface" port="9010">
<clusterNotification />
</serviceProxy>
<serviceProxy name="PatientInfo Q1I2" port="2000">
<counter name=Patient Info Q1I2" />
</serviceProxy>
<serviceProxy name="PatientInfo Q2I2" port="2001">
<counter name="PatientInfo Q2I2" />
</serviceProxy>
</router>
</spring:beans>
Thanks in advance!
Norm Dressler