SOAP对象从webservice返回null。

时间:2014-07-30 13:29:46

标签: c# android web-services soap ksoap2

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));

如果您需要更多信息,请与我们联系。

感谢。

3 个答案:

答案 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