Webservice возвращает SoapPrimitive, содержащий экранированный XML - PullRequest
1 голос
/ 29 февраля 2012

Я столкнулся с WS, который возвращает SoapPrimitive, содержащий необработанный XML в виде строки.Как вы можете видеть в этом примере ответа, содержимое элемента 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 голосов
/ 29 февраля 2012

Как вы получаете свой ответ? Вы пробовали отладку, чтобы увидеть, как выглядит ответ. Это определенно странно, а не так, как должно быть.

...