与webservice连接失败

时间:2012-05-30 07:05:22

标签: web-services soap

我为版本2.3开发了应用程序,它使用Web服务对设备用户进行身份验证;当我在Samsung GT-P3100(版本4.0.3 Icecream Sandwitch)中部署时,相同的应用程序我收到连接失败;虽然我可以使用设备与webservice通信浏览器...请建议,我是否需要为版本4.0.3重新创建项目,或者标签需要在mainfest文件中获得一些特殊权限吗?可能是什么原因

1 个答案:

答案 0 :(得分:0)

使用此代码获取html内容:

public static String getHTML ( String url) throws IOException { 
            if (url == null || url.length() == 0) { 
                    throw new IllegalArgumentException("url cannot be null or empty"); 
            } 
            final HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection(); 
            final BufferedReader buf = new BufferedReader(new InputStreamReader(conn.getInputStream())); 
            final StringBuilder page = new StringBuilder(); 
            final String lineEnd = System.getProperty("line.separator"); 
            String line; 
            try { 
                    while (true) { 
                            line = buf.readLine(); 
                            if (line == null) { 
                                    break; 
                            } 
                            page.append(line).append(lineEnd); 
                    } 
            } finally { 
                    buf.close(); 
            } 

            try {
                    return page.toString().substring(0, page.toString().length() -1);
            } catch (Exception e) {
                    return "";
            }

    }

您需要在AndroidManifest.xml中添加permision

<uses-permission android:name="android.permission.INTERNET" />

也许在android 4和heighter上你需要在一个新线程中执行这个功能,为此使用代码:

startInNewThread();

//call the fonction getHTML() in a new thread
private void startInNewThread() {

            new Thread(new Runnable() {
                    @Override
                    public void run() {
                          getHTML ("URL");

                    }
            }).start();
    }

如果您需要使用“getHtml()”的结果更新UI,则必须创建一个处理程序