How to access local mule service from apigee service callout ?

Not applicable

How to access local service implemented in Mule ESB or java tomcat server from apigee service callout ?

Solved Solved
0 4 343
1 ACCEPTED SOLUTION

In general, Apigee Edge can connect with HTTP endpoints.

I don't know Mule ESB.

If you have a java tomcat server, and you can expose a JAX-WS endpoint or similar, then you can invoke it from within Apigee Edge.

View solution in original post

4 REPLIES 4

In general, Apigee Edge can connect with HTTP endpoints.

I don't know Mule ESB.

If you have a java tomcat server, and you can expose a JAX-WS endpoint or similar, then you can invoke it from within Apigee Edge.

Are you saying that i would be able to access local tomcat server deployed on my local machine? can you please let me know how can i do the same?

Hmmm, well let's start at the basics. If you are using the Apigee Edge SaaS service, it runs "in the cloud", as they say, which means on a server across the public internet.

Apigee Edge works as a proxy. This means it accepts an inbound request, and then makes a corresponding outbound request to some other system. In order to make the outbound request, Apigee Edge (obviously) needs to be able to connect with the remote system. The term "remote" here is with respect to Apigee Edge. The Tomcat server may be "local" to you, but it is "remote" from the perspective of Apigee Edge, which is sending the request.

Therefore your server must be accessible from the public internet. Whether your tomcat server is "local" (running on your desktop) or running in the cloud somewhere, it needs to be reachable by a system running on an arbitrary public network.

To get your "local" tomcat to be accessible from the public network, you probably need to configure your router to allow inbound requests to reach the tomcat. This is different for each router. The key point here is not "tomcat" or "Apigee Edge" but configuring your router to allow requests on specific ports into your machine. For that I direct you to the administrative documentation for your particular router, specifically on the port-forwarding or firewall section.

There are also OS-specific firewalls. For example on Windows there is Windows firewall which will reject inbound requests unless you specifically configure the windows firewall to allow them. So if you are using Windows, you need to configure the router hardware as well as the Windows OS to allow inbound requests. With linux, the analogous thing is iptables.

I suggest that you work on configuring the router first. Eliminate Apigee Edge from the problem, for now. After you configure the router, go to a public computer (like maybe one at the library), or use a friend's computer that is connected to a public wifi (eg Google Wifi at Starbucks), and try to connect from a web browser running on that computer to the tomcat server.

Once you get that sorted you should be able to connect to the tomcat from Apigee Edge.

Thank you @Dino