KSOAP获得XML响应

时间:2012-06-30 19:55:16

标签: android ksoap

我使用KSOAP访问我的应用程序的Web服务。我使用SoapObject来构建请求,我得到了一个奇怪的响应(在这种情况下,奇怪的意思不是XML)。

我是KSOAP的新手,我需要在KSOAP上构建的现有项目中添加一些更改,因此避免使用它不是一种选择。代码很简单,有效,但我无法解析响应。

用于此的代码是:

SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("PersonalID", "032676025");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
                SoapEnvelope.VER11);
        envelope.dotNet = true;
        envelope.setOutputSoapObject(request);
        HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);

try {
            androidHttpTransport.call(SOAP_ACTION, envelope);
            SoapPrimitive response = (SoapPrimitive) envelope.getResponse();
            Log.i("Webservice Output", response.toString());

            return response.toString();

        } catch (Exception e) {
            e.printStackTrace();
        }

这里的问题是我找不到来自我的webservice的XML作为响应。我需要得到它并自己解析它。

问题是:如何从XML响应上方代码中使用的对象(作为XML)中获取?

谢谢。

1 个答案:

答案 0 :(得分:3)

我找到了解决方案: 在进行WS调用之前设置 androidHttpTransport.debug = true;

在此之后,您可以像这样访问请求和响应:

String requestDump = androidHttpTransport.requestDump;
String responseDump = androidHttpTransport.responseDump;

Log.i("", "Requeste: " + requestDump);
Log.i("", "Response: " + responseDump);