Cant' access REST service from external

Five Stars

Cant' access REST service from external

I built a REST service in a Talend Job using TRestRequest component. I deployed it on my TAC via ESB Conductor, service is registered in service locator and I can call it locally on the machine where it is deployed (both TAC ans ESB Server are on the same machine). Service is configured to listen on http://localhost:8765/myservice. 

 

My problem is, I can't call the service from another machine on my network. I call it by replacing localhost by my machine name (also tried with ip). I also have opened port 8765 on my windows firewall. Still can't reach my service.

 

Am I missing something ?

Employee

Re: Cant' access REST service from external

How are you calling the service from other machine from the client?  Is the client calling the service doing so through service locator?  Service locator will lookup the end point and hand it out to your client.  This means as part of the initial call, your client should be able to deal with service locator looking up the end point and giving it back to the client, and then the actual call happens on the end point returned by service locator.

 

 

Highlighted
Five Stars

Re: Cant' access REST service from external

@iburtally thanks for your response. Please excuse my lack of knowledges with the platform, i'm pretty new to it.

 

I tried to call my service directly by the endpoint shown in the service locator from the TAC. So locally I called http://localhpost:8765/myService, which worked. From my external machine, I call http://mymachinename:8765/myService, which does not work.

 

By reading your response, what I understand is that I since my service is registerd in service locator, I should be able to call service locator directly which would redirect to the correct endpoint of my service. Like I said , I'm pretty new with Talend, so I take take a look at this service locator thing.

 

First, I found that under configuration menu, service locator is configured on localhost:2181 whith no authentication. When i try to acces this url however, nothing happens. I'm not sure what this configuration really mean.

 

I also found out that service locator seems to listen by default on localhost:8040. This url show me list of registerd service. This url is not reacheable from the outside neither, which makes me think that my the whole service locator can't be reched from the outside.

 

I made some tests in my talend development studio to change the restpoint of my tRestRequest directly to http://mymachinename:8765/myService (wich makes it not acessible on my dev machine). I was able to hit the service from other machines of my network.

 

With the information I gave you, what do you think I should check next to go on on reaching my services from my nettwork ?

 

thanks again for your comprehension