Search This Blog

Thursday, July 4, 2013

Connection issue: No route to host

A nice step by step investigation and solution on this problem from OTN. Wanted to share... :)

------------------------
Hi all,

I have a problem with my BPEL process (vers. 10.1.3.4).
I am trying to call an external web service and I get the following error (I can access the web service just using its URL):

exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: No route to host

I have tried pinging the remote server with success, so I should be able to connect (no proxy issue or something like that).

I have tried looking in the BPEL logs found at:
<oracle home>/opmn/logs
<oracle home>/bpel/system/logs
<oracle home>/bpel/domains/default/logs
This did not give anything useful either.

I deploy using JDeveloper. I have checked the proxy settings here - and there are none set.

Does anybody have any ideas as to what can be wrong?
Any help or hints will be much appreciated.

Regards,
Aagaard

------------------------

Hi Aagaard,

Maybe some open doors to kick in, but you say that you're able to ping the host of the webservice and can access it using it's url. Did you test it on you development machine or on the machine that is running Application Server? Since these need not be the same (often they're not, of course) it might be that you're server might have other routes thatn your development machine.

If the remote webservice is running on http://<webserver>:<port>/webservice I would open a terminal session on the server that's running your soasuite and not only do a ping but also a:
prompt>telnet <webserver> <port>
Note there is a space in stead of a colon between webserver and port.
This way you particularly connect to the webserver using on the given port. If there is no service listening on that port you would get a connection refused error.

Regards,
Martien

------------------------
Hi Martien,

Thank you for the swift reply.

Yes, I tried pinging from both development machine and from application server. Both successful.

Tried the telnet approach and interestingly enough that failed.

[oracle@prima logs]$ telnet csc2835139 18111
Trying 172.19.205.69...
telnet: connect to address 172.19.205.69: No route to host
telnet: Unable to connect to remote host: No route to host

So I guess that means that I can access the remote machine, but that no service is listening on the given port?
Even though I can access the web service via a web browser?

Regards,
Aagaard
------------------------
Correct Answer by MartienvandenAkker  on Oct 6, 2008 10:49 AM
 
Well it could also mean that from the server which is running your applicationserver the port 18111 is blocked. So I would check with your network-managers if this port is open from your applicationserver. They should check the firewalls (if you have no control on that yourself).

Often the situation at a customer is that your development pc is at one LAN while your (development, test, acceptance, production) application server is in a datacenter on a different sub-lan. With another fire-wall. From your development PC you need to access internet-http and maybe other protocols. But these are usually forbidden on the datacenter lan. You'll have a separate route from your development lan to the datacenter. Probably the server has 2 NICs: one for the internal network and one connected to the Demilitarized Zone. Within the DMZ probably a proxy/reverseproxy configuration routes the requests from outside to your application server and visa versa. So the proxy should also be checked.

This should normally the case at a customer-site, even when its a development environment. Because you don't want to have intruders hacking into your systems, even on development. And although you might not care, the dev-env should reflect your prod-env. So it should also use a dmz with a proxy/reverseproxy setup. If it is a setup on your laptop or your home lan your setup might be simpeler. But then again you might have to cope with different firewalls. If it is all on your laptop (using VMWare for example) I would try when temporarly shutdown all Firewalls.

You told that you did not have a proxy. Does that count for both your dev-pc as well as the application server?
------------------------
Hi Martien,

You were right. I did not have access to the port from the BPEL server.
Getting access solved my problem.

Thank you very much for the assist.

Cheers,
Aagaard
 
 

No comments:

Post a Comment