diff --git a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java index c8e6ea5d..595b9a8d 100644 --- a/enabler/src/de/schildbach/pte/AbstractEfaProvider.java +++ b/enabler/src/de/schildbach/pte/AbstractEfaProvider.java @@ -3288,13 +3288,16 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider private ResultHeader enterItdRequest(final XmlPullParser pp) throws XmlPullParserException, IOException { if (pp.getEventType() != XmlPullParser.START_DOCUMENT) - throw new IllegalStateException("start of document expected"); + throw new ParserException("start of document expected"); pp.next(); if (pp.getEventType() == XmlPullParser.DOCDECL) pp.next(); + if (pp.getEventType() == XmlPullParser.END_DOCUMENT) + throw new ParserException("empty document"); + XmlPullUtil.require(pp, "itdRequest"); final String serverVersion = XmlPullUtil.attr(pp, "version"); @@ -3330,10 +3333,13 @@ public abstract class AbstractEfaProvider extends AbstractNetworkProvider private ResultHeader enterEfa(final XmlPullParser pp) throws XmlPullParserException, IOException { if (pp.getEventType() != XmlPullParser.START_DOCUMENT) - throw new IllegalStateException("start of document expected"); + throw new ParserException("start of document expected"); pp.next(); + if (pp.getEventType() == XmlPullParser.END_DOCUMENT) + throw new ParserException("empty document"); + XmlPullUtil.enter(pp, "efa"); final String now = XmlPullUtil.valueTag(pp, "now");