【发布时间】:2011-09-04 14:32:39
【问题描述】:
我正在从 Android 应用程序调用网络服务。当我使用 AVD 时,一切正常,我得到了服务器的响应,但是当我在我的真实设备 (HTC) 上运行时,我得到“操作超时”。 设备上的互联网速度很好,例如谷歌地图的加载速度非常快。
我使用 ksoap2 连接服务器:
SoapObject request = new SoapObject(getString(R.string.NAMESPACE), getString(R.string.METHOD_NAME));
SoapSerializationEnvelope envelope =
new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
int Timeout = 10000;
HttpTransportSE androidHttpTransport = new HttpTransportSE(FullURL, Timeout);
try {
androidHttpTransport.call(getString(R.string.SOAP_ACTION), envelope);
return envelope.getResponse().toString();
}
catch (Exception e) {
return ("ERROR:" + e.getMessage());
}
URL 包含服务器的 IP
为什么真机出现超时错误,如何强制其正常工作?
【问题讨论】:
-
情况是在一个80端口。我在windows防火墙中为它创建了一个规则,现在从Android设备调用web方法就可以了!
-
你能说清楚你解决这个问题的方法吗?如果我更改不是 80 的端口。可以吗?等着你回答,伊莉亚·布洛克。谢谢。
标签: android web-services timeout device ksoap2