Dot net webservice正在返回完整的arraylist。但是响应没有存储在soap对象中,并且计数总是为零。
SoapObject request=new SoapObject(Servicedata.NAMESPACE, Servicedata.METHOD_NAMECHAPTERLIST);
request.addProperty("Subject",Subject);
SoapSerializationEnvelope envelope=new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet=true;
envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport=new HttpTransportSE(Servicedata.URL);
androidHttpTransport.call(Servicedata.SOAP_ACTIONCHAPTERLIST, envelope);
Chapterresultstr=(SoapObject)envelope.getResponse();
Totalchapter=Chapterresultstr.getPropertyCount();
Log.e("Chapter",Integer.toString(Totalchapter));
如果您需要更多信息,请与我们联系。
感谢。
答案 0 :(得分:0)
试试这个并告诉我它是否有效:
Object resultsString = (Object)envelope.getResponse();
String data = resultsString.toString();
而不是
Chapterresultstr=(SoapObject)envelope.getResponse();
Totalchapter=Chapterresultstr.getPropertyCount();
Log.e("Chapter",Integer.toString(Totalchapter));
答案 1 :(得分:0)
request.addProperty("Subject", Subject);
替换为
request.addProperty("arge1", Subject);
以这种方式使用肥皂不是一个好的解决方案,我建议使用这种方式
答案 2 :(得分:0)
我很少使用getResponse
中的SoapObject。我通常只使用androidHttpTransport.responseDump
- 返回原始XML,然后解析XML。
您也可以尝试本教程从SOAP Web服务返回数组 http://seesharpgears.blogspot.com/2010/10/web-service-that-returns-array-of.html