学习中遇到这样一个问题。
我学习使用webSerevice,用ksoap2 2.6.0的jar包。
问题是我在模拟器中运行都是正常的,但是发布到我手机上的时候总是报错
01-10 11:44:31.420: W/System.err(7032): java.net.SocketTimeoutException: Connection timed out
01-10 11:44:31.420: W/System.err(7032): at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)
01-10 11:44:31.420: W/System.err(7032): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357)
01-10 11:44:31.420: W/System.err(7032): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204)
01-10 11:44:31.430: W/System.err(7032): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437)
01-10 11:44:31.430: W/System.err(7032): at java.net.Socket.connect(Socket.java:983)
01-10 11:44:31.430: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75)
01-10 11:44:31.430: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
01-10 11:44:31.440: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
01-10 11:44:31.450: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
01-10 11:44:31.450: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
01-10 11:44:31.450: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
01-10 11:44:31.450: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205)
01-10 11:44:31.450: W/System.err(7032): at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:48)
01-10 11:44:31.450: W/System.err(7032): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:90)
01-10 11:44:31.460: W/System.err(7032): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:50)
请大家帮忙指导下:
1 在模拟器上是好的,只在手机上不行
2 我尝试过了手机wifi和移动网络连接,都没有效果
3 程序的INTERNET权限我已经加上了
4 是否是ksoap2 的包问题?个人觉得是timeout时间设置出了问题.请遇到过此类问题的帮助下,不胜感激!
我学习使用webSerevice,用ksoap2 2.6.0的jar包。
问题是我在模拟器中运行都是正常的,但是发布到我手机上的时候总是报错
01-10 11:44:31.420: W/System.err(7032): java.net.SocketTimeoutException: Connection timed out
01-10 11:44:31.420: W/System.err(7032): at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)
01-10 11:44:31.420: W/System.err(7032): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357)
01-10 11:44:31.420: W/System.err(7032): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204)
01-10 11:44:31.430: W/System.err(7032): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437)
01-10 11:44:31.430: W/System.err(7032): at java.net.Socket.connect(Socket.java:983)
01-10 11:44:31.430: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75)
01-10 11:44:31.430: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
01-10 11:44:31.440: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
01-10 11:44:31.450: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
01-10 11:44:31.450: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
01-10 11:44:31.450: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
01-10 11:44:31.450: W/System.err(7032): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205)
01-10 11:44:31.450: W/System.err(7032): at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:48)
01-10 11:44:31.450: W/System.err(7032): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:90)
01-10 11:44:31.460: W/System.err(7032): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:50)
请大家帮忙指导下:
1 在模拟器上是好的,只在手机上不行
2 我尝试过了手机wifi和移动网络连接,都没有效果
3 程序的INTERNET权限我已经加上了
4 是否是ksoap2 的包问题?个人觉得是timeout时间设置出了问题.请遇到过此类问题的帮助下,不胜感激!
请问你遇到过这样的方法吗?
请详解!
谢谢!
function:
Log.d("getWeather", "getWeather start...");
SoapObject rpc = new SoapObject(NAMESPACE, METHOD_NAME);
rpc.addProperty("theCityName", selectCity); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(rpc);
int MSG_TIMEOUT = 15000;
HttpTransportSE ht = new HttpTransportSE(URL,MSG_TIMEOUT);
try {
ht.call(SOAP_ACTION, envelope);
SoapObject result=(SoapObject)envelope.getResponse();
updateUI(result);//这个是我自己的方法
} catch (IOException e) {
e.printStackTrace();
} catch (XmlPullParserException e) {
e.printStackTrace();
}
真机wifi下测试没问题。gprs超时