элемент, удалите пустые элементы из документа и верните его обратно в InputStream для анализа с помощью ksoap2

аюсь использовать kSOAP 2 в своем приложении для Android, и когда я пытаюсь выполнить определенный запрос веб-сервиса, я получаю исключение «двойной идентификатор». Я смог найти, где это происходит в исходном коде kSOAP, он находится вSoapSerializationEnvelope метод классаpublic Object read() Вот выдержка из этого кода, показывающая выбрасываемое исключение:

        if (id != null) {
            Object hlp = idMap.get(id);
            if (hlp instanceof FwdRef) {
                FwdRef f = (FwdRef) hlp;
                do {
                    if (f.obj instanceof KvmSerializable)
                        ((KvmSerializable) f.obj).setProperty(f.index, obj);
                    else
                        ((Vector) f.obj).setElementAt(obj, f.index);
                    f = f.next;
                } while (f != null);
            } else if (hlp != null)
                throw new RuntimeException("double ID");
            idMap.put(id, obj);
        }

Я не совсем уверен, что это за исключение, или как я могу это исправить. Кто-нибудь знает, что за сделка с этим исключением?

Спасибо

Редактировать:

Следует отметить, что я также использую метод подключения к веб-сервису SOAP в iOS-версии этого приложения, и тот же точный запрос не вызывает проблем.

Новая информация:

При ближайшем рассмотрении проблема, как представляется, является результатом ответа XML, который я получаю, содержащий<diffgr:before> элемент, который имеет таблицы с тем же идентификатором, что и выше. Я думаю, что это является причиной проблемы, другие запросы, которые я выполнял до этого момента, не содержат в себе этот элемент и не имеют исключения. Итак, чтобы добавить к вопросу: могу ли я остановить веб-сервис от отправки этого блока в своем ответе, или заставить kSOAP его игнорировать?

Ответы на вопрос(2)

Ваш ответ на вопрос