我遇到了一个问题,我的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)
有没有办法查看问题是防火墙还是其他网络问题?有没有办法可以提取更多信息,以便找到根本原因?我无法理解为什么它可以在一台机器上工作而在另一台机器上工作。
感谢您的帮助!