Given this, e.g. if I call the 'ACreateUser' service... Tuxedo knows (by metadata I assume) that it has to use the 'A:ServicePort' binding?
<WSDF> <Import location="A.wsdf"/> <Import location="B.wsdf"/> <Import location="C.wsdf"/> <Import location="D.wsdf"/> </WSDF> <WSGateway> <GWInstance id="GWWS1"> <Outbound> <Binding ref="A:ServicePort"/> <Binding ref="B:ServicePort"/> <Binding ref="C:ServicePort"/> <Binding ref="D:ServicePort"/> </Outbound> </GWInstance> </WSGateway>
I tried to define four different metadata repository files, one for each MIF file, but when I boot the servers (TMMETADATA -4-, GWWS -1 or 4-) I only get last group of service advertised, e.g. DCreateUser, DUpdateUser, DDeleteUser.
A.mif B.mif C.mif D.mif service=CreateUser service=CreateUser service=CreateUser service=CreateUser tuxservice=ACreateUser tuxservice=BCreateUser tuxservice=CCreateUser tuxservice=DCreateUser ... ... ... ...
you will need to name each service slightly differently so Tuxedo knows which external service you want to invoke...That's exactly what I'm doing right now... my doubts are in how to handle it on Tuxedo's side.
you will need to name the services differently and in your application code do something like:
if (route to A)
else if (route to B)
you could potentially use Tuxedo's data dependent routing and configure 4 separate gateways each in their own group and then leave the routing decision up to TuxedoI've never used Tuxedo's data dependent routing... however, it seems a better/neater approach to me (always there's a first time for everything).