遇到[否到主机的路由"试图传达给WebService时,错误 [英] Encountered "No route to host" error when trying to communicated to a webservice
问题描述
我想传达给web服务我的笔记本电脑,并使用和Android手机的客户端。我试图做一个简单的登录功能,然而,每当客户端尝试与web服务进行沟通,这个错误在DDMS在Eclipse上弹出。我可以和我的家庭网络访问web服务,但不能这样做,当我在我的学校。如果你会问这个,我SCH IP地址172.22.XX.XX.虽然我知道是私有IP地址,但即使我的Android手机连接到同一个网络,它仍然无法与我的笔记本电脑上运行web服务进行通信。谁能告诉我怎么解决thie问题
10-20 15:00:42.875:ERROR / AndroidRuntime(6728):fillInStackTrace()产生java.net.SocketException:没有到主机的路由
下面是不工作的功能:
公共字符串[] getPassword来(字符串登录ID){ 的String [] TEMP = NULL;
SoapObject要求=新SoapObject空间(namespace,用户注册忘记密码); 的PropertyInfo quotesProperty =新的PropertyInfo();
quotesProperty.setName(为LoginID);
quotesProperty.setValue(登录ID);
quotesProperty.setType(为String.class);
request.addProperty(quotesProperty); 信封=新SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = TRUE;
envelope.setOutputSoapObject(请求); 字符串结果=;
HttpTransportSE HTT prequest =新HttpTransportSE(URL);
HTT prequest.debug = TRUE; 尝试
{
HTT prequest.call(SOAP_ACTION,信封);
Log.e(请求,HTT prequest.requestDump.toString()); SoapPrimitive响应=(SoapPrimitive)envelope.getResponse();
Log.e(响应,HTT prequest.responseDump.toString()); 结果= response.toString();
如果(结果!= NULL){
TEMP = result.split();
passwordSecurity加密=新passwordSecurity();
温度[0] = crypto.cryptography(温度[0],假); //解密密码
} }
赶上(例外五)
{
e.printStackTrace();
Log.e(AndroidRuntime,的getMessage():+ e.getMessage());
Log.e(AndroidRuntime,getLocalizedMessage():+ e.getLocalizedMessage());
Log.e(AndroidRuntime,fillInStackTrace():+ e.fillInStackTrace()的toString()); }
返回温度;
}
从DDMS警告
16 10-20:56:32.180:警告/ System.err的(13034):java.net.SocketException异常:没有到主机的路由
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.platform.OSNetworkSystem.connect(本机方法)
10-20 16:56:32.180:WARN / System.err的(13034):在dalvik.system.BlockGuard $ WrappedNetworkSystem.connect(BlockGuard.java:357)
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204)
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437)
10-20 16:56:32.180:WARN / System.err的(13034):在java.net.Socket.connect(Socket.java:1002)
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75)
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
10-20 16:56:32.180:WARN / System.err的(13034):在org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205)
10-20 16:56:32.180:WARN / System.err的(13034):在org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:76)
10-20 16:56:32.180:WARN / System.err的(13034):在org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:146)
10-20 16:56:32.180:WARN / System.err的(13034):在org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95)
10-20 16:56:32.180:WARN / System.err的(13034):在android.wps.server.operations.WifiPositioningServices.getPassword(WifiPositioningServices.java:43)
10-20 16:56:32.180:WARN / System.err的(13034):在android.wps.MainActivity $ 1.onClick(MainActivity.java:67)
10-20 16:56:32.180:WARN / System.err的(13034):在android.view.View.performClick(View.java:2538)
10-20 16:56:32.180:WARN / System.err的(13034):在android.view.View $ PerformClick.run(View.java:9152)
10-20 16:56:32.180:WARN / System.err的(13034):在android.os.Handler.handleCallback(Handler.java:587)
10-20 16:56:32.180:WARN / System.err的(13034):在android.os.Handler.dispatchMessage(Handler.java:92)
10-20 16:56:32.180:WARN / System.err的(13034):在android.os.Looper.loop(Looper.java:123)
10-20 16:56:32.180:WARN / System.err的(13034):在android.app.ActivityThread.main(ActivityThread.java:3691)
10-20 16:56:32.180:WARN / System.err的(13034):在java.lang.reflect.Method.invokeNative(本机方法)
10-20 16:56:32.180:WARN / System.err的(13034):在java.lang.reflect.Method.invoke(Method.java:507)
10-20 16:56:32.180:WARN / System.err的(13034):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:847)
10-20 16:56:32.180:WARN / System.err的(13034):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
10-20 16:56:32.180:WARN / System.err的(13034):在dalvik.system.NativeStart.main(本机方法)
我是有因认证问题连接到另一台电脑我的(ASP.NET)Web服务的问题。验证问题得到解决后,我仍然得到了无主机路由从我的Android应用程序错误。打开无线设备上关闭并重新打开解决了这个问题对我来说。
I am trying to communicate to the webservice on my laptop and using and Android phone as the client. I was trying to do a simple login function however, whenever the client tries to communicate with the webservice, this error pops out in the DDMS on Eclipse. I can access the webservice with my home network but not able to do so when i am in my school. In case you might ask this, the IP address in my sch is 172.22.XX.XX. Although i know is a private IP address, but even though my Android phone is connected to the same network, it still can't communicate with the webservice running on my laptop. Can anyone tell me how to solve thie problem
10-20 15:00:42.875: ERROR/AndroidRuntime(6728): fillInStackTrace():java.net.SocketException: No route to host
Here is the function that does the work:
public String[] getPassword(String loginID){
String[] temp = null;
SoapObject request = new SoapObject(NAMESPACE, "GetPassword");
PropertyInfo quotesProperty = new PropertyInfo();
quotesProperty.setName("LoginID");
quotesProperty.setValue(loginID);
quotesProperty.setType(String.class);
request.addProperty(quotesProperty);
envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
String result = "";
HttpTransportSE httpRequest = new HttpTransportSE(URL);
httpRequest.debug = true;
try
{
httpRequest.call(SOAP_ACTION, envelope);
Log.e("Request",httpRequest.requestDump.toString());
SoapPrimitive response = (SoapPrimitive)envelope.getResponse();
Log.e("Response",httpRequest.responseDump.toString());
result = response.toString();
if(result != null){
temp = result.split(";");
passwordSecurity crypto = new passwordSecurity();
temp[0]= crypto.cryptography(temp[0], false); //decrypt the password
}
}
catch(Exception e)
{
e.printStackTrace();
Log.e("AndroidRuntime", "getMessage(): "+e.getMessage());
Log.e("AndroidRuntime", "getLocalizedMessage(): "+e.getLocalizedMessage());
Log.e("AndroidRuntime", "fillInStackTrace(): "+e.fillInStackTrace().toString());
}
return temp;
}
Warnings from DDMS
10-20 16:56:32.180: WARN/System.err(13034): java.net.SocketException: No route to host
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.platform.OSNetworkSystem.connect(Native Method)
10-20 16:56:32.180: WARN/System.err(13034): at dalvik.system.BlockGuard$WrappedNetworkSystem.connect(BlockGuard.java:357)
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:204)
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.net.PlainSocketImpl.connect(PlainSocketImpl.java:437)
10-20 16:56:32.180: WARN/System.err(13034): at java.net.Socket.connect(Socket.java:1002)
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:75)
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:48)
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection$Address.connect(HttpConnection.java:322)
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:89)
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHttpConnection(HttpURLConnectionImpl.java:285)
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.makeConnection(HttpURLConnectionImpl.java:267)
10-20 16:56:32.180: WARN/System.err(13034): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:205)
10-20 16:56:32.180: WARN/System.err(13034): at org.ksoap2.transport.ServiceConnectionSE.connect(ServiceConnectionSE.java:76)
10-20 16:56:32.180: WARN/System.err(13034): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:146)
10-20 16:56:32.180: WARN/System.err(13034): at org.ksoap2.transport.HttpTransportSE.call(HttpTransportSE.java:95)
10-20 16:56:32.180: WARN/System.err(13034): at android.wps.server.operations.WifiPositioningServices.getPassword(WifiPositioningServices.java:43)
10-20 16:56:32.180: WARN/System.err(13034): at android.wps.MainActivity$1.onClick(MainActivity.java:67)
10-20 16:56:32.180: WARN/System.err(13034): at android.view.View.performClick(View.java:2538)
10-20 16:56:32.180: WARN/System.err(13034): at android.view.View$PerformClick.run(View.java:9152)
10-20 16:56:32.180: WARN/System.err(13034): at android.os.Handler.handleCallback(Handler.java:587)
10-20 16:56:32.180: WARN/System.err(13034): at android.os.Handler.dispatchMessage(Handler.java:92)
10-20 16:56:32.180: WARN/System.err(13034): at android.os.Looper.loop(Looper.java:123)
10-20 16:56:32.180: WARN/System.err(13034): at android.app.ActivityThread.main(ActivityThread.java:3691)
10-20 16:56:32.180: WARN/System.err(13034): at java.lang.reflect.Method.invokeNative(Native Method)
10-20 16:56:32.180: WARN/System.err(13034): at java.lang.reflect.Method.invoke(Method.java:507)
10-20 16:56:32.180: WARN/System.err(13034): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847)
10-20 16:56:32.180: WARN/System.err(13034): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
10-20 16:56:32.180: WARN/System.err(13034): at dalvik.system.NativeStart.main(Native Method)
I was having issues connecting to my (ASP.NET) web service from another PC due to an authentication issue. After the authentication issue was resolved I was still getting the "No Route to Host" error from my Android App. Turning the WiFi on my device off and back on solved this problem for me.
这篇关于遇到[否到主机的路由&QUOT;试图传达给WebService时,错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!