我在三星银河选项卡中测试了SOAP方法,并且工作正常。

我在 Android Ice Cream Sandwich 上测试过的相同代码无法正常工作。

以下是我的代码,

HttpPost httppost = new HttpPost("xxxxxx");
            httppost.setHeader("Content-type", "text/xml; charset=utf-8");
            httppost.setHeader("SOAPAction", SoapAction);

            StringEntity se1 = new StringEntity(env,HTTP.UTF_8);
            se1.setContentType("text/xml");
            se1.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "text/xml; charset=utf-8"));
            httppost.setEntity(se1);

            HttpClient httpclient = new DefaultHttpClient();
            BasicHttpResponse httpResponse = (BasicHttpResponse) httpclient.execute(httppost);

            System.out.println("res------"+httpResponse.getStatusLine().toString()+" code  "+httpResponse.getStatusLine().getStatusCode());

            //Checking response
            if(httpResponse!=null){
                inputStream = httpResponse.getEntity().getContent();


                BufferedReader r = new BufferedReader(new InputStreamReader(inputStream));
                StringBuilder total = new StringBuilder();
                String line="";
                try {
                    while ((line = r.readLine()) != null) {
                        total.append(line);
                    }
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                System.out.println("line----"+line);
            }

在此代码中,我像这样打印了 httpResponse.getStatusLine()。toString()打印的值
HTTP/1.1 200 OK代码200

但行值变为空。

谢谢。

最佳答案

试试这个 ,

StrictMode.ThreadPolicy策略=新的StrictMode.ThreadPolicy.Builder()。permitAll()。build();
StrictMode.setThreadPolicy(policy);

10-06 03:22