遇到[否到主机的路由"试图传达给WebService时,错误 [英] Encountered "No route to host" error when trying to communicated to a webservice

查看:120
本文介绍了遇到[否到主机的路由"试图传达给WebService时,错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想传达给web服务我的笔记本电脑,并使用和Android手机的客户端。我试图做一个简单的登录功能,然而,每当客户端尝试与web服务进行沟通,这个错误在DDMS在Eclipse上弹出。我可以和我的家庭网络访问web服务,但不能这样做,当我在我的学校。如果你会问这个,我SCH IP地址172.22.XX.XX.虽然我知道是私有IP地址,但即使我的Andr​​oid手机连接到同一个网络,它仍然无法与我的笔记本电脑上运行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服务的问题。验证问题得到解决后,我仍然得到了无主机路由从我的Andr​​oid应用程序错误。打开无线设备上关闭并重新打开解决了这个问题对我来说。

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆