I need to connect from a server to a web-service server to consume a SOAP
service but due to restrictions in place I cannot connect directly.
They did however give me a proxy server that can, but it runs on the service on a different port:
[webserver]
----- [proxy:48650]
----- [webservice:8601]
Note (if it wasn't clear yet): I've simplified the hostnames as their very long corporate things and would needlessly complicate the question.
The big problem is that the WSDL
of webservice contains a lot of referrals with the absolute URL (so webservice:8601
). The includes go more than 1 level deep (so downloading the WSDL and doing a search/replace will not get me much further).
I've added a rule to /etc/hosts
on webserver:
127.0.0.1 webservice
The underlying idea is to somehow proxy the 8601 port on localhost and make the soap-client think it is actually connecting to the webservice (via the proxy).
An SSH tunnel
is unfortunately not an option to the proxy, same security reasons. I cannot make an SSH connection to the proxy.
iptables
is a possibility but I can find a set of rules that takes a port on localhost (8601) and redirects it to an external host/different port (proxy:48650). Most of them are for incoming traffic.
I've been wasting a lot of time on this and am getting desperate. Is there anyone here who can provide me with some hints/solutions?
Pretty please?