Reverse Invoke Setting Routing to 2 servers


I have 1 reverse invoke server (IS4.6) on a Solaris box. And 2 app servers (IS4.6) for Production and Development.

I would want to set up different proxy listening ports to route to either Dev or Prod (i.e. Port 80->Socket 4446 & port 81->Socket 5556). Is this possible, or is there a workaround?

If I have to install a second instance of the reverse invoke server (IS4.6) onto the same Solaris box, is it possible to copy the entire folder to a new folder and start up this new instance with a different primary port? Will this work?

I am interested in this too. I think the problem is that there is no relation between the proxy ports and the socket connections, so the RI server will never know where to send any incoming data to. Will it work when the service that’s called is different between the two IS’s ( e.g http://host:80/test/test1 → Socket 4446 test:test1 & http://host:81/test/test2 → Socket 5556 test:test2 )?

It should be possible to copy the entire folder, and start the new instance with the -PORT option. Shut down the RI server before you make a copy.


Thanks for your advice.

Yes, webMethods also told me that the proxy has no “Routing Inteligence” and cannot bind proxy ports to a socket (which I think that it should do).

We copied the entire folder and changed the ports (and ensured all .sh files reference the new install directory).

And it does work:
http://host:80/test/test1 → Socket 4446
http://host:81/test/test2 → Socket 5556
I just had ensure that the proxy/socket ports were enabled (and not duplicated on each server), and I had to re-register connections to the proxies from our prod and dev servers.

I also noticed that I couldn’t allocate proxy ports unless the server was started as root. Maybe a quirk in our original installation?

P.S. We didn’t shut down our RI server before making the copy because it was idle and has hardly any enabled packages. Everything seemed fine, but I hope this doesn’t cause a problem in the future?


In reply to your question:
Will it work when the service that’s called is different between the two IS’s?

No, that didn’t work. The RI server tries the registered connections in “round-robin” fashion. If it was lucky to find the correct socket, your service is executed, but if it hits the wrong socket, you get a “No such service” exception.

Proxy Port 80
Proxy Port 81

Registered Socket 5556
Registered Socket 5556
Registered Socket 4446
Registered Socket 4446

http://host:80/test/test1 → Socket 4446 would fail twice before succeeding.
http://host:81/test/test2 → Socket 5556 would pass the first 2 times, but fail the next to…and so on.