Proxying requests via a SSH SOCKS5 Proxy
Hello,
How can I send a request via a SOCKS5 proxy in IRIS, using, for example, EnsLib.REST.Operation?
Background
I need to access APIs inside my corporate network, to which I don't have direct access from my home office. I've set up a SOCKS5 proxy via SSH on my host machine like this:
ssh -D 9999 server.corporate.com
I can then make requests with curl to the APIs I need:
curl -x socks5h://localhost:9999 https://api.corporate.com/api/some/endpoint
And I receive a response. Simple!
Also, inside the containerized IRIS, I can execute the request:
curl -x socks5h://host.docker.internal:9999 https://api.corporate.com/api/some/endpoint
And I get a response.
However, if I configure the REST Operation, which uses EnsLib.HTTP.OutboundAdapter under the hood, to use the proxy, like this:

I receive an error when making the request:
ERROR #5002: ObjectScript error: <WRITE>Send+214^%Net.HttpRequest.1
And the response is empty. I've tried setting the proxy server address to both socks5h://host.docker.internal and just plain host.docker.internal, but it does not make any difference.
I guess my question is: Does IRIS support proxying requests via a SOCKS5 proxy, or is HTTP(S) proxy the only way? Am I missing something here if curl works just fine? I would expect IRIS not to have any problem with it as well.
Thanks for any suggestions.
Comments
According to WRC support, SOCKS proxies are unfortunately not supported. What a shame, especially when an open-source tool like curl works. At the moment, the only solution for me is to request a VPN solution that allows me to access company internal services.
Another possible solution is to write a small wrapper around curl.