0

我使用 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();
        }

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

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

谢谢你。

4

1 回答 1

3

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

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

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

Log.i("", "Requeste: " + requestDump);
Log.i("", "Response: " + responseDump);
于 2012-07-05T10:52:59.377 回答