Webservice返回包含转义XML的SoapPrimitive

时间:2012-02-28 22:05:34

标签: android xml soap ksoap2

我遇到了一个WS,它返回一个包含原始XML作为字符串的SoapPrimitive。正如您在此示例响应中所看到的,ResultXML元素的内容是一个字符串,它本身就是某种转义的XML

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GetJourneyPathResponse xmlns="http://www.etis.fskab.se/v1.0/ETISws"><GetJourneyPathResult><Code>0</Code><Message /><ResultXML>&lt;Part&gt;&lt;From&gt;&lt;Id&gt;254197...

通常我会做类似

的事情
SoapObject soapObject = (SoapObject) response.getProperty("EndPoints");

但在这种情况下它不起作用(classcastexception)。这是因为(我认为)KSOAP将结果视为字符串原语而不是复杂对象。所以我做了

SoapPrimitive Partsp = (SoapPrimitive) response.getProperty("ResultXML");

这有效,我现在可以访问字符串中的XML。但接下来呢?

我更愿意将XML字符串转换为SoapObject,以便我可以继续我的快乐方式。这可能吗?

这个SOAP响应对我来说似乎很紧张,但我无能为力。

彼得

1 个答案:

答案 0 :(得分:0)

您是如何得到回复的?您是否尝试过调试以查看响应的样子。这绝对是奇怪的,而不是应该如何。