Oracle SOA Suite 11g - Multiple partner link endpoint locations to enable failover in composite
Oracle SOA Suite provides the support for specifying multiple partner link endpoint locations. This capability is useful for failover purposes if the first endpoint is down.
The endpointURI property of the Composite.xml will help us to override the endpoint location specified in the default WSDL as shown below.
<reference name="HelloworldService"
ui:wsdlLocation="http://localhost:8000/soa-infra/services/default/HelloWorld/Helloworld.wsdl">
<interface.wsdl interface="http://xmlns.oracle.com/Failover/HelloWorld/Helloworld#wsdl.interface(Helloworld)"
callbackInterface="http://xmlns.oracle.com/Failover/HelloWorld/Helloworld#wsdl.interface(HelloworldCallback)"/>
<binding.ws port="http://xmlns.oracle.com/Failover/HelloWorld/Helloworld#wsdl.endpoint(helloworld_client_ep/Helloworld_pt)"
location="http://localhost:8000/soa-infra/services/default/HelloWorld/helloworld_client_ep?WSDL"
soapVersion="1.1">
<property name="endpointURI">http://localhost:8002/soa-infra/services/MEDIATOR/HelloWorld/helloworld_client_ep</property>
<property name="endpointURI">http://localhost:8002/soa-infra/services/UTILITIES/HelloWorld/helloworld_client_ep</property>
<property name="weblogic.wsee.wsat.transaction.flowOption"
type="xs:string" many="false">WSDLDriven</property>
</binding.ws>
<callback>
<binding.ws port="http://xmlns.oracle.com/Failover/HelloWorld/Helloworld#wsdl.endpoint(helloworld_client_ep/HelloworldCallback_pt)"/>
</callback>
</reference>
In runtime the location specified in the endpointURI at the end will be invoked first and if it fails it will try to invoke the previous endpointURI specified and so on; if all the endpointURI invocations are failed, the location(default) specified in the WSDL file will be invoked.
endpointURI’s:
Default location: