Odata4j Android - Illegal datetime format

327 views Asked by At

I am encountering the exception stated below in my android code where I am trying to parse an ODATA service using odata4j JAR library.

java.lang.IllegalArgumentException: Illegal datetime format 2015-05-07T00%3A00%3A00

I am getting the error at line below in Android code:

List list = c.getEntities("EntityName").execute().toList();

My entire stacktrace is stated below:

 Caused by: java.lang.IllegalArgumentException: bad valueString [datetime'2015-05-07T00%3A00%3A00'] as part of keyString [*****='*****',*****='0',***='*****',date=datetime'2015-05-07T00%3A00%3A00',*****='*******']
            at org.odata4j.core.OEntityKey.parse(OEntityKey.java:157)
            at org.odata4j.format.xml.AtomFeedFormatParser.parseEntityKey(AtomFeedFormatParser.java:300)
            at org.odata4j.format.xml.AtomFeedFormatParser.entityFromAtomEntry(AtomFeedFormatParser.java:431)
            at org.odata4j.format.xml.AtomFeedFormatParser.parseEntry(AtomFeedFormatParser.java:349)
            at org.odata4j.format.xml.AtomFeedFormatParser.parseFeed(AtomFeedFormatParser.java:169)
            at org.odata4j.format.xml.AtomFeedFormatParser.parse(AtomFeedFormatParser.java:157)
            at org.odata4j.format.xml.AtomFeedFormatParser.parse(AtomFeedFormatParser.java:45)
            at org.odata4j.consumer.ConsumerQueryEntitiesRequest.doRequest(ConsumerQueryEntitiesRequest.java:67)
            at org.odata4j.consumer.ConsumerQueryEntitiesRequest.getEntries(ConsumerQueryEntitiesRequest.java:50)
            at org.odata4j.consumer.ConsumerQueryEntitiesRequest.execute(ConsumerQueryEntitiesRequest.java:40)
            at *******.MyActivity$LoadSpinners.doInBackground(MyActivity.java:287)
            at *******.MyActivity$LoadSpinners.doInBackground(MyActivity.java:202)
            at android.os.AsyncTask$2.call(AsyncTask.java:287)
            at java.util.concurrent.FutureTask.run(FutureTask.java:234)
            at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at java.lang.Thread.run(Thread.java:841)
     Caused by: java.lang.IllegalArgumentException: Illegal datetime format 2015-05-07T00%3A00%3A00
            at org.odata4j.internal.InternalUtil.parseDateTimeFromXml(InternalUtil.java:96)
            at org.odata4j.expression.ExpressionParser.readExpression(ExpressionParser.java:462)
            at org.odata4j.expression.ExpressionParser.parse(ExpressionParser.java:64)
            at org.odata4j.core.OEntityKey.parse(OEntityKey.java:152)

There are ****** placed at certain sensitive information like not related properties and app package names.

0

There are 0 answers