Вы можете переопределить класс конверта, заменив метод parseBody. Вот пример наследования класса:
public class SSEnv extends SoapSerializationEnvelope
{
public void parseBody(XmlPullParser parser) throws IOException, XmlPullParserException{
//Yes! its modified code snipet from android dev page :)
int eventType = parser.getEventType();
while (!(eventType == XmlPullParser.END_TAG && parser.getName().equalsIgnoreCase("body"))) {
if(eventType == XmlPullParser.START_DOCUMENT) {
System.out.println("Start document");
} else if(eventType == XmlPullParser.START_TAG) {
System.out.println("Start tag "+parser.getName());
} else if(eventType == XmlPullParser.END_TAG) {
System.out.println("End tag "+parser.getName());
} else if(eventType == XmlPullParser.TEXT) {
System.out.println("Text "+parser.getText());
}
eventType = parser.next();
}
}
}
Помните, что метод разбора из SOAPEnvelope требует закрывающего тега «тело», то почему есть условие в цикле «в то время как ((типСобытии == XmlPullParser.END_TAG & & анализатор!. GetName(). equalsIgnoreCase ("тело")))». И, конечно же, после getRequest и bodyIn будет null после этой модификации.
Второй способ разобрать reponseDump из HttpTransportSE но его вид терроризма;)
вид касается Marcin
почему вы тусклый преобразовать ответ SOAP в XML вместо получить подготовить ответные данные с использованием SOAP GetProperty() ? –