新手开发android的demo,遇到一个问题,android调用java的webservice,取到记录数,但是anytype{}里都是空的,搞了一整天了,求解答。。。。
public void getlist(){
String nameSpace = "http://billlist.dcdz.com/";
String methodName = "getList";
String endPoint = "http://192.168.1.106:8080/TheService/BillListPort";
String soapAction = "http://billlist.dcdz.com/getList";
SoapObject rpc = new SoapObject(nameSpace, methodName);
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER10);
envelope.bodyOut = rpc;
envelope.setOutputSoapObject(rpc);
HttpTransportSE transport = new HttpTransportSE(endPoint);
transport.debug=true;
SoapObject object;
try {
// 调用WebService
transport.call(soapAction, envelope);
} catch (Exception e) {
e.printStackTrace();
}
try {
object = (SoapObject) envelope.bodyIn;
int count = object.getPropertyCount();
// 得到服务器传回的数据
int count1 = object.getPropertyCount();
if(count1>0)
{
for (int i = 1; i < count1; i++) {
HashMap listItem = new HashMap();
SoapObject soapProvince = (SoapObject)object.getProperty(i);
listItem.put("userid", soapProvince.getProperty("userid").toString());
listItem.put("username", soapProvince.getProperty("username").toString());
listItem.put("usetime", soapProvince.getProperty("usetime").toString());
list.add(listItem);
}}
} catch (Exception e) {
e.printStackTrace();
}

有没有大牛收走我的膝盖。。。。。
你的图片不能看
把你的异常错误日志贴出来
你可以在服务器端写个测试,后台是否能使用获取数据方法,若后台都拿不到,就不是android代码的问题了
如果不是,就跟踪一下整条获取数据的代码路线 ,检查那个地方还能获取数据,到那个地方就不能获取数据了
缩小范围来检查代码
有我的调试信息啊,咋发不出去图片嘞。。。
错误信息:
java.lang.RuntimeException: illegal property: userid
我写了测试,服务端是可以取到值的
好久没有用webservice中soap协议了,参考下http://my.oschina.net/u/2406195/blog/493535,不知有木有用
WebService 是一种基于SOAP协议的远程调用标准。通过WebService可以将不同操作系统平台,不同语言、不同技术整合到一起.
需要使用ksoap2.jar。
开启工作线程去执行webServiceConnection(); aysntask, 或者 handler
public static String webUrl =“”; // 网址
public static String namespace=“”; // webservice的命名空间
public String webServiceConnection(String methname, String[] keys, Object[] Values) {
do {
SoapObject request = new SoapObject(namespace, methname); //参数: 命名空间 方法名
for (int i = 0; i < Values.length; i++) {
request.addProperty(keys[i], Values[i]); //为soapObject添加属性
}
//为webservice设置版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope( SoapEnvelope.VER11);
envelope.bodyOut = request; //将soapobject对象输出
envelope.dotNet=false; //设置与.Net提供web service保持良好的兼容性
HttpTransportSE http = new HttpTransportSE(webUrl); //将网址传入
try {
http.call( (namespace + methname), envelope ); // 呼叫
if (envelope.getResponse() != null) {
String result = envelope.getResponse().toString(); //得到返回的数据
return result;
}
return "返回数据为空";
} catch (Exception e) {
e.printStackTrace();
break;
}
} while (true);
return "获取数据失败";
}
有没有大能指出我的问题到底出在哪,抓了狂了。。。