我做了什么:
我尝试使用以下代码通过我的Android应用中的" POST" 方法调用网络服务。
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://myserver.com:5060/convert/service");
try {
File file = new File(inputPath);
httppost.setHeader("Content-Type", "application/msword");
httppost.setHeader("Accept", "application/pdf");
httppost.setEntity(new ByteArrayEntity(readFile(file)));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (Exception e) {
e.printStackTrace();
}
当我执行此api调用时,我收到以下异常。
" org.apache.http.NoHttpResponseException:目标服务器未能 响应"
但是,当我使用相同代码从独立Java项目进行相同的网络服务调用时,我得到正确响应即可。
没有像上面那样出现任何错误。
我想要什么:
根据我的 java网络服务电话,我知道服务中没有问题,也有源代码。那么问题可能是什么?我该怎样摆脱这个问题?
答案 0 :(得分:0)
我已经解决了这个问题。
问题是因为端口号5060 。我在eclipse中使用 TCP / IP monitor 工具确实找到了这个。
通过defaule 5060端口未从Android调用(我不知道原因)。因为请求没有命中服务器。
所以我在服务器中将端口号更改为8090 并重新启动了服务器。
然后我从android调用了该服务。现在它工作得很好。