android 调用.net的webservice 问题。。。
webservice在vs中按F5启动后,用相应的地址url=http://10.0.2.2:4167/docservice/Service.asmx,method="/...
webservice 在vs中按F5启动后,用相应的地址url = http://10.0.2.2:4167/docservice/Service.asmx, method = "/GetTestList". 在android端按如下方式调用:
DefaultHttpClient client = new DefaultHttpClient();
String result = null;
HttpPost postMethod = new HttpPost(url + method);
try {
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair(paramer_TAG, paramer_JSON.toString()));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, paramer_Encoded);
// postMethod.setHeader("Accept", "application/json");
// postMethod.addHeader("Content-Type",// "application/json;charset=utf-8");
postMethod.setEntity(entity);
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, connection_TIMEOUT);
// 读取超时
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, so_TIMEOUT);
HttpResponse httpResponse = client.execute(postMethod);
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
result = retrieveInputStream(httpResponse.getEntity());
}
}
在模拟器上可以返回结果,但是把这个webservice在IIS中布署到地址192.168.1.110:8080上,用真机调用会返回 Internal server Error,500错误。
但是在真机的浏览中可以用192.168.1.110:8080/docservice/Service.asmx访问到这个页面,在局域网内的其他电脑上也可以访问。PS..上面的调用是在单独线程中的。。。
费解啊,有遇到过的么? 展开
DefaultHttpClient client = new DefaultHttpClient();
String result = null;
HttpPost postMethod = new HttpPost(url + method);
try {
List<NameValuePair> formparams = new ArrayList<NameValuePair>();
formparams.add(new BasicNameValuePair(paramer_TAG, paramer_JSON.toString()));
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(formparams, paramer_Encoded);
// postMethod.setHeader("Accept", "application/json");
// postMethod.addHeader("Content-Type",// "application/json;charset=utf-8");
postMethod.setEntity(entity);
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, connection_TIMEOUT);
// 读取超时
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, so_TIMEOUT);
HttpResponse httpResponse = client.execute(postMethod);
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
result = retrieveInputStream(httpResponse.getEntity());
}
}
在模拟器上可以返回结果,但是把这个webservice在IIS中布署到地址192.168.1.110:8080上,用真机调用会返回 Internal server Error,500错误。
但是在真机的浏览中可以用192.168.1.110:8080/docservice/Service.asmx访问到这个页面,在局域网内的其他电脑上也可以访问。PS..上面的调用是在单独线程中的。。。
费解啊,有遇到过的么? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询