please see the post I posted on advantage website
As with everything, there are tradeoffs. This keeps our jobs fun 
- Remote Invoke packed binary messages that are MUCH smaller than SOAP messages.
- Remote Invoke still goes over HTTP, so just the same fire wall/router issues as a SOAP mesage.
- Remote Invoke does not require input validation on the destination side (as SOAP RPC does). So if you KNOW your data will always be correct, then the called service does not have to perform input validation at all.
- Remote Invoke ties you in to have an IS on both sides. You cannot move the destination service to another implementation without changes the calling service.
- Remote Invoke destiniation is configured via a Remote Server Alias, so that changing where the destination service is or the account used on the destination service is not hardcoded in the Flow. This makes moving from Dev/QA/Prod nicer (This feature will be supported for Web Services Connectors in a future IS release).
- The protocol on the wire Remote Invoke uses is the same as Developer (and any Java client using client.jar). This protocol still supports every client release since IS 2.0 and auto-switches to the best encoding supported by both sides.
- Remote Invoke is not a “standard” and these days anything that is not a “standard” can’t be any good
I would put each Remote Invoke call in it’s own wrapper Flow, so I could change them to Web Service Connectors just by replacing those wrapper services. Also, it is a good idea to segregate all the services that call out of IS, because those have different testing environment requirements from the services that just do internal stuff, like mapping.
HTH,
Fred
Fred Thanks for your very valuable input. Keeping your commentd I think Are you favoring to use the remote invoke rather than webServices.
I would favour remote invoke, but I would isolate them into a place that I could change to a Web Service Connector if needed. Certainly, given there are Integration Servers on both sides, remote invoke would be faster and scale better unless there is a bug I don’t know about.
-
With remote invoke, you can specify an alternate server in the alias which provides you with a failover capability. This can be very handy if you want to have high availability without going with reverse invoke or a loadbalancer.
-
You may consider “plain” HTTP communication, which is pretty fast. For your information, Remote invoke sends at least 2 HTTP calls, one for “connect”, the other one for the query itself, and eventually another one for “disconnect”. So plain HTTP call has less overhead. Unless you want to maintain a session…
-
For SOAP validation, I think there is a watt setting, which I never tried, but from its name, looks like it can disable SOAP message validation: watt.server.SOAP.validateSOAPMessage=false
I would look to a third option of setting up territories and gateways ( and triggers)between the two IS’s. This setup would gaurantee your transaction in case of a failover as well as provide a performance balance.
#webMethods-Archive#webMethods#Integration-Server-and-ESB