Selecting the network interface from a SOAP::Lite client
- Hi, everyone. I've been using SOAP::Lite for a number of years, for a
bunch of SOAP client applications. It has worked flawlessly during
that time, and I greatly appreciate the work that has gone into it.
Recently, my application's requirements have changed somewhat. The
SOAP calls that I'll be making will be the same, but now I need to be
able to choose from the client's available network interfaces. That
is, I'll sometimes want to use eth0, sometimes eth1, sometimes eth2,
etc. (My server is running Debian Linux.) What is the best way for
me to change that setting?
If I were working directly with sockets, then I would know what to do,
but SOAP::Lite is a significantly higher-level library, and I don't
see any obvious way -- short of modifying the SOAP::Lite source code
-- to make such switching possible. I've looked through the
documentation and mailing list archives, and haven't found anything.
Thanks in advance for any and all advice!
- On Fri, Aug 11, 2006 at 06:36:32PM -0000, Reuven M. Lerner scratched on the wall:
> Recently, my application's requirements have changed somewhat. TheSorry for the late response, but the best answer is that you
> SOAP calls that I'll be making will be the same, but now I need to be
> able to choose from the client's available network interfaces. That
> is, I'll sometimes want to use eth0, sometimes eth1, sometimes eth2,
> etc. (My server is running Debian Linux.) What is the best way for
> me to change that setting?
shouldn't do this. It is the wrong answer to the wrong question.
I know, I know... customer requirements are sometimes like that, but
consider the fact that even if you could manually select which
interface the packets went out, you cannot select which interface the
packets come back in. The network is going to make such decisions
for you, so you might as well just let it do what it is good at.
Assuming this has to be done for some type of fail-over or security
policy reason (e.g. a front-end "exposed" network and a back-end
"secure" network) the best answer is to setup your routing tables,
networks, and interfaces correctly and let the IP layer do what
it does best to get the packets from here to there. If all of that
is properly setup, then selecting which interface gets abstracted out
to something like using different hostnames in the proxy URI. And
*that* is something that _is_ very appropriate to be dealing with at the
application layer (and a heck of a lot easier!).
Jay A. Kreibich | CommTech, Emrg Net Tech Svcs
jak@... | Campus IT & Edu Svcs
<http://www.uiuc.edu/~jak> | University of Illinois at U/C