我在三星银河选项卡中测试了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);