Consume Rest webservice error "The remote name could not be resolved: ...."

Hello,

I am trying to consume a node.js webservice, it is running on my machine as local host port 180. I have tested the web service with Postman and it works correctly. When I test it in outsystems I receive the
error "The remote name could not be resolved: ....". I understand that
outsystems is running on a remote server in the cloud. Is there a way to access
my webservice so that I can build my app? Also I have read all of the post here and do not see
a solution.

Solution

Hey Allen,

Yes, you can but it involves a bit of networking and firewall rules.  If you are hosting this within a business, you will want your networking team to open an external port and have it route to your local machine's port 180.  If they are not willing to do this, then you would have to consider using a VPS such as DigitalOcean to host your node.js service on an externally available machine (but please do consider that your company might have policies against this).

If you are trying to hit a service out of your house, you can log in to your home router and look for something called Port Forwarding.  You will want to forward a port to your local machine's IP and port 180.  Make sure to use the IP such as 192.168.1.110 or something, using 127.0.0.1 will not work.  Then from OutSystems, consume the webservice from your home's public IP address.  You can also check out something called Dynamic DNS, where there are free services that allow you to create a public name (e.g. allenz.dyndns.org) that would point to your home IP.  You would still need to setup the port forwarding that I mentioned though.  One other alternative is to use the DMZ feature of your router to point everything incoming to your machine, but unless you have a very good idea of how to manage firewalls, intrusion detection, etc. then I strongly advise against it.

Lastly, if you are in a business and running OutSystems on-premise, ask your networking team if they can assist - possibly the servers are running on a different subnet from the employee's machines.

Hope that helps!

Solution

Craig St.Jean wrote:

Hey Allen,

Yes, you can but it involves a bit of networking and firewall rules.  If you are hosting this within a business, you will want your networking team to open an external port and have it route to your local machine's port 180.  If they are not willing to do this, then you would have to consider using a VPS such as DigitalOcean to host your node.js service on an externally available machine (but please do consider that your company might have policies against this).

If you are trying to hit a service out of your house, you can log in to your home router and look for something called Port Forwarding.  You will want to forward a port to your local machine's IP and port 180.  Make sure to use the IP such as 192.168.1.110 or something, using 127.0.0.1 will not work.  Then from OutSystems, consume the webservice from your home's public IP address.  You can also check out something called Dynamic DNS, where there are free services that allow you to create a public name (e.g. allenz.dyndns.org) that would point to your home IP.  You would still need to setup the port forwarding that I mentioned though.  One other alternative is to use the DMZ feature of your router to point everything incoming to your machine, but unless you have a very good idea of how to manage firewalls, intrusion detection, etc. then I strongly advise against it.

Lastly, if you are in a business and running OutSystems on-premise, ask your networking team if they can assist - possibly the servers are running on a different subnet from the employee's machines.

Hope that helps!

 Thank you

 

Thank you