Java IOException:如何找到根本原因?

时间:2016-02-26 18:42:59

标签: java httpurlconnection ioexception

我遇到了一个问题,我的Java代码抛出了IOException。我遇到的问题是,在我的测试机器上,没有错误。在我的另一台机器(我真正的机器,它更强大)我总是得到一个IOException。电话很直接。
这是代码:

URL obj = new URL("http://smoutsidebox:50000/validatecallservelet");
URLConnection uc = obj.openConnection();

HttpURLConnection con = (HttpURLConnection) uc;
System.setProperty("http.agent", "");
con.setDoOutput(true); 
con.setDoInput(true); 
con.setRequestMethod(Constants.HTTP_POST_METHOD);
con.setRequestProperty("Cookie", "JSESSIONID=" + sessionId);

writer = new OutputStreamWriter(con.getOutputStream()); //ERROR OCCURS HERE!!

当我打电话

writer = new OutputStreamWriter(con.getOutputStream());

我得到了这个堆栈跟踪:

IOException: java.net.PlainSocketImpl.connect(PlainSocketImpl.java:168)
java.net.Socket.connect(Socket.java:471)
java.net.Socket.connect(Socket.java:417)
sun.net.NetworkClient.doConnect(NetworkClient.java:139)
sun.net.www.http.HttpClient.openServer(HttpClient.java:423)
sun.net.www.http.HttpClient.openServer(HttpClient.java:651)
sun.net.www.http.HttpClient.(HttpClient.java:322)
sun.net.www.http.HttpClient.(HttpClient.java:283)
sun.net.www.http.HttpClient.New(HttpClient.java:355)
sun.net.www.http.HttpClient.New(HttpClient.java:336)
sun.net.www.http.HttpClient.New(HttpClient.java:331)
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:623)
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:600)
sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:671)

有没有办法查看问题是防火墙还是其他网络问题?有没有办法可以提取更多信息,以便找到根本原因?我无法理解为什么它可以在一台机器上工作而在另一台机器上工作。

感谢您的帮助!

0 个答案:

没有答案