You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@olingo.apache.org by Rob Sessink | Kramp <Ro...@kramp.com> on 2016/06/15 08:53:56 UTC

Deserializing a decimal in scientific notation

We are using the Olingo 4.0 Java Library release 4.2.0 to connect to the
Dynamics 2016 CRM Web Api. So far it works great, but in quering for an
some entities we hit an ODataDeserializerException.

Basically where it comes down to, is that Olingo is failing to deserialize a
value notated in  scientific notation. The relevant property is a currency
value in Dynamics CRM with the value '11.500.000,00'. This is returned by
the Web API as '1.15E7'. In the class
org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal there
is a regex validation that fails for numbers in scientific notation.

Is this something that needs to be fixed in Olingo and is their a possible
workaround?

Regards Rob Sessink

java.lang.IllegalArgumentException: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:87)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:68)
at com.kramp.eai.customer.maki.actions.RetreiveAction.lookup(RetreiveAction.java:196)
at com.kramp.eai.customer.maki.actions.RetreiveActionIT.testLookupByUniqueIdentifier(RetreiveActionIT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:402)
at org.apache.olingo.client.core.serialization.ClientODataDeserializerImpl.toEntitySet(ClientODataDeserializerImpl.java:73)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:81)
... 27 more
Caused by: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:224)
at org.apache.olingo.client.core.serialization.JsonEntitySetDeserializer.doDeserialize(JsonEntitySetDeserializer.java:96)
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:400)
... 29 more
Caused by: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal.internalValueOfString(EdmDecimal.java:90)
at org.apache.olingo.commons.core.edm.primitivetype.AbstractPrimitiveType.valueOfString(AbstractPrimitiveType.java:69)
at org.apache.olingo.client.core.serialization.JsonDeserializer.fromPrimitive(JsonDeserializer.java:288)
at org.apache.olingo.client.core.serialization.JsonDeserializer.value(JsonDeserializer.java:385)
at org.apache.olingo.client.core.serialization.JsonDeserializer.populate(JsonDeserializer.java:276)
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:222)
... 31 more




Rob Sessink

Integration Engineer





[cid:1.jpg]


[cid:Kramp_Logo.jpg]<http://www.kramp.com>


[cid:2.jpg]

[Facebook]<https://www.facebook.com/Kramp.Benelux> [Twitter] <https://twitter.com/krampgroup>  [Youtube] <https://www.youtube.com/user/krampgroep>  [Google Plus] <https://plus.google.com/+kramp>  [Linked In] <https://www.linkedin.com/company/kramp>







DISCLAIMER This e-mail message may contain confidential or privileged information and is intended solely for the individual to whom it is addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. If you have received it in error, please notify us immediately by telephoning +31 315 254299, and destroy this e-mail and any attachments. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission.


P  Save Paper - Do you really need to print this e-mail?


RE: Deserializing a decimal in scientific notation

Posted by "Amend, Christian" <ch...@sap.com>.
Hi Rob,

Thanks a lot for debugging this! This is definitely not the expected behaviour. Jackson shouldn't change the raw value.

I am still in favour that the OData client should have a more relaxed type handling and accept such values if they fit into the underlying Java Type. If needed there should be a flag for strict parsing. Unfortunately I did not have time to implement this.

If you would have some time to contribute a patch I could apply it to the repository.

Thanks & Best Regards,
Christian


From: Rob Sessink | Kramp [mailto:Rob.Sessink@kramp.com]
Sent: Freitag, 17. Juni 2016 14:06
To: 'user@olingo.apache.org' <us...@olingo.apache.org>
Subject: RE: Deserializing a decimal in scientific notation

Hi Christian,

I looked further into this by debugging the JSON parsing in Olingo and get these results:

From the WebAPI I get the following JSON snippit:
....
"creditlimit@odata.type<ma...@odata.type>" : "#Decimal",
"creditlimit" : 11500000.0000000000,
....

After the deserialization in:

 JsonDeserializer#toEntitySet
  return new JsonEntitySetDeserializer(serverMode).doDeserialize(parser);

the ObjectNode tree contains the following value:
....
  "creditlimit@odata.type<ma...@odata.type>" : "#Decimal",
  "crmp_creditlimit" : 1.15E7,
....

So the conversion to scientific notation is done by the Jackon parser, which later in the EdmDecimal class triggers the validation.
Is this expected behaviour?

Regards Rob

From: Amend, Christian [mailto:christian.amend@sap.com]
Sent: Wednesday, June 15, 2016 3:30 PM
To: user@olingo.apache.org<ma...@olingo.apache.org>
Subject: RE: Deserializing a decimal in scientific notation

Hi Rob,

to me it seems that the decimal value does not adhere to the OData specification. The ABNF rule for decimals is:
decimalValue = [SIGN] 1*DIGIT ["." 1*DIGIT]

If your value is "1.15e7" then this is not a valid value for decimals according to OData. There is currently no workaround to change the decimal handling.
You could define your data type as double. The rule there is: doubleValue = decimalValue [ "e" [SIGN] 1*DIGIT ] / nanInfinity ;

Best Regards,
Christian

From: Hans Kruse [mailto:kruse@hanskruse.eu]
Sent: Mittwoch, 15. Juni 2016 15:01
To: user@olingo.apache.org<ma...@olingo.apache.org>
Subject: Re: Deserializing a decimal in scientific notation

Hi Rob,

@Rob Sessink in Varsseveld ;) (Father in law worked at your company). Did you rule out the locale being used on both the Dynamics CRM side and the Java side? Your notation suggests Dutch. If you enforce English on both sides I guess it might work better  and prevent communication errors when talking to your Indian parent company too.

Kind Regards,
Hans

Op wo 15 jun. 2016 om 10:54 schreef Rob Sessink | Kramp <Ro...@kramp.com>>:
We are using the Olingo 4.0 Java Library release 4.2.0 to connect to the
Dynamics 2016 CRM Web Api. So far it works great, but in quering for an
some entities we hit an ODataDeserializerException.

Basically where it comes down to, is that Olingo is failing to deserialize a
value notated in  scientific notation. The relevant property is a currency
value in Dynamics CRM with the value '11.500.000,00'. This is returned by
the Web API as '1.15E7'. In the class
org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal there
is a regex validation that fails for numbers in scientific notation.

Is this something that needs to be fixed in Olingo and is their a possible
workaround?

Regards Rob Sessink

java.lang.IllegalArgumentException: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:87)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:68)
at com.kramp.eai.customer.maki.actions.RetreiveAction.lookup(RetreiveAction.java:196)
at com.kramp.eai.customer.maki.actions.RetreiveActionIT.testLookupByUniqueIdentifier(RetreiveActionIT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:402)
at org.apache.olingo.client.core.serialization.ClientODataDeserializerImpl.toEntitySet(ClientODataDeserializerImpl.java:73)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:81)
... 27 more
Caused by: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:224)
at org.apache.olingo.client.core.serialization.JsonEntitySetDeserializer.doDeserialize(JsonEntitySetDeserializer.java:96)
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:400)
... 29 more
Caused by: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal.internalValueOfString(EdmDecimal.java:90)
at org.apache.olingo.commons.core.edm.primitivetype.AbstractPrimitiveType.valueOfString(AbstractPrimitiveType.java:69)
at org.apache.olingo.client.core.serialization.JsonDeserializer.fromPrimitive(JsonDeserializer.java:288)
at org.apache.olingo.client.core.serialization.JsonDeserializer.value(JsonDeserializer.java:385)
at org.apache.olingo.client.core.serialization.JsonDeserializer.populate(JsonDeserializer.java:276)
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:222)
... 31 more

ROB SESSINK
Integration Engineer










DISCLAIMER This e-mail message may contain confidential or privileged information and is intended solely for the individual to whom it is addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. If you have received it in error, please notify us immediately by telephoning +31 315 254299, and destroy this e-mail and any attachments. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission.

*  Save Paper - Do you really need to print this e-mail?



Rob Sessink

Integration Engineer








[cid:image002.jpg@01D1CAF9.39E743E0]<http://www.kramp.com>




[Facebook]<https://www.facebook.com/Kramp.Benelux> [Twitter] <https://twitter.com/krampgroup>  [Youtube] <https://www.youtube.com/user/krampgroep>  [Google Plus] <https://plus.google.com/+kramp>  [Linked In] <https://www.linkedin.com/company/kramp>







DISCLAIMER This e-mail message may contain confidential or privileged information and is intended solely for the individual to whom it is addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. If you have received it in error, please notify us immediately by telephoning +31 315 254299, and destroy this e-mail and any attachments. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission.


P  Save Paper - Do you really need to print this e-mail?



RE: Deserializing a decimal in scientific notation

Posted by Rob Sessink | Kramp <Ro...@kramp.com>.
Hi Christian,

I looked further into this by debugging the JSON parsing in Olingo and get these results:

From the WebAPI I get the following JSON snippit:
....
"creditlimit@odata.type" : "#Decimal",
"creditlimit" : 11500000.0000000000,
....

After the deserialization in:

 JsonDeserializer#toEntitySet
  return new JsonEntitySetDeserializer(serverMode).doDeserialize(parser);

the ObjectNode tree contains the following value:
....
  "creditlimit@odata.type" : "#Decimal",
  "crmp_creditlimit" : 1.15E7,
....

So the conversion to scientific notation is done by the Jackon parser, which later in the EdmDecimal class triggers the validation.
Is this expected behaviour?

Regards Rob

From: Amend, Christian [mailto:christian.amend@sap.com]
Sent: Wednesday, June 15, 2016 3:30 PM
To: user@olingo.apache.org
Subject: RE: Deserializing a decimal in scientific notation

Hi Rob,

to me it seems that the decimal value does not adhere to the OData specification. The ABNF rule for decimals is:
decimalValue = [SIGN] 1*DIGIT ["." 1*DIGIT]

If your value is “1.15e7” then this is not a valid value for decimals according to OData. There is currently no workaround to change the decimal handling.
You could define your data type as double. The rule there is: doubleValue = decimalValue [ "e" [SIGN] 1*DIGIT ] / nanInfinity ;

Best Regards,
Christian

From: Hans Kruse [mailto:kruse@hanskruse.eu]
Sent: Mittwoch, 15. Juni 2016 15:01
To: user@olingo.apache.org
Subject: Re: Deserializing a decimal in scientific notation

Hi Rob,

@Rob Sessink in Varsseveld ;) (Father in law worked at your company). Did you rule out the locale being used on both the Dynamics CRM side and the Java side? Your notation suggests Dutch. If you enforce English on both sides I guess it might work better  and prevent communication errors when talking to your Indian parent company too.

Kind Regards,
Hans

Op wo 15 jun. 2016 om 10:54 schreef Rob Sessink | Kramp <Ro...@kramp.com>:
We are using the Olingo 4.0 Java Library release 4.2.0 to connect to the
Dynamics 2016 CRM Web Api. So far it works great, but in quering for an
some entities we hit an ODataDeserializerException.

Basically where it comes down to, is that Olingo is failing to deserialize a
value notated in  scientific notation. The relevant property is a currency
value in Dynamics CRM with the value '11.500.000,00'. This is returned by
the Web API as '1.15E7'. In the class
org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal there
is a regex validation that fails for numbers in scientific notation.

Is this something that needs to be fixed in Olingo and is their a possible
workaround?

Regards Rob Sessink

java.lang.IllegalArgumentException: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:87)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:68)
at com.kramp.eai.customer.maki.actions.RetreiveAction.lookup(RetreiveAction.java:196)
at com.kramp.eai.customer.maki.actions.RetreiveActionIT.testLookupByUniqueIdentifier(RetreiveActionIT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:402)
at org.apache.olingo.client.core.serialization.ClientODataDeserializerImpl.toEntitySet(ClientODataDeserializerImpl.java:73)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:81)
... 27 more
Caused by: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:224)
at org.apache.olingo.client.core.serialization.JsonEntitySetDeserializer.doDeserialize(JsonEntitySetDeserializer.java:96)
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:400)
... 29 more
Caused by: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal.internalValueOfString(EdmDecimal.java:90)
at org.apache.olingo.commons.core.edm.primitivetype.AbstractPrimitiveType.valueOfString(AbstractPrimitiveType.java:69)
at org.apache.olingo.client.core.serialization.JsonDeserializer.fromPrimitive(JsonDeserializer.java:288)
at org.apache.olingo.client.core.serialization.JsonDeserializer.value(JsonDeserializer.java:385)
at org.apache.olingo.client.core.serialization.JsonDeserializer.populate(JsonDeserializer.java:276)
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:222)
... 31 more

ROB SESSINK
Integration Engineer










DISCLAIMER This e-mail message may contain confidential or privileged information and is intended solely for the individual to whom it is addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. If you have received it in error, please notify us immediately by telephoning +31 315 254299, and destroy this e-mail and any attachments. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission.

?  Save Paper - Do you really need to print this e-mail?




Rob Sessink

Integration Engineer





[cid:1.jpg]


[cid:Kramp_Logo.jpg]<http://www.kramp.com>


[cid:2.jpg]

[Facebook]<https://www.facebook.com/Kramp.Benelux> [Twitter] <https://twitter.com/krampgroup>  [Youtube] <https://www.youtube.com/user/krampgroep>  [Google Plus] <https://plus.google.com/+kramp>  [Linked In] <https://www.linkedin.com/company/kramp>







DISCLAIMER This e-mail message may contain confidential or privileged information and is intended solely for the individual to whom it is addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. If you have received it in error, please notify us immediately by telephoning +31 315 254299, and destroy this e-mail and any attachments. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission.


P  Save Paper - Do you really need to print this e-mail?


RE: Deserializing a decimal in scientific notation

Posted by Rob Sessink | Kramp <Ro...@kramp.com>.
Hoi Christian,

thanks for pointing to the ABNF rules, didn’t knew about these. I will see if it is possible to change the field in Dynamics CRM.

Regards Rob




Rob Sessink

Integration Engineer





[cid:1.jpg]


[cid:Kramp_Logo.jpg]<http://www.kramp.com>


[cid:2.jpg]

[Facebook]<https://www.facebook.com/Kramp.Benelux> [Twitter] <https://twitter.com/krampgroup>  [Youtube] <https://www.youtube.com/user/krampgroep>  [Google Plus] <https://plus.google.com/+kramp>  [Linked In] <https://www.linkedin.com/company/kramp>







DISCLAIMER This e-mail message may contain confidential or privileged information and is intended solely for the individual to whom it is addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. If you have received it in error, please notify us immediately by telephoning +31 315 254299, and destroy this e-mail and any attachments. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission.


P  Save Paper - Do you really need to print this e-mail?

From: Amend, Christian [mailto:christian.amend@sap.com]
Sent: Wednesday, June 15, 2016 3:30 PM
To: user@olingo.apache.org
Subject: RE: Deserializing a decimal in scientific notation

Hi Rob,

to me it seems that the decimal value does not adhere to the OData specification. The ABNF rule for decimals is:
decimalValue = [SIGN] 1*DIGIT ["." 1*DIGIT]

If your value is “1.15e7” then this is not a valid value for decimals according to OData. There is currently no workaround to change the decimal handling.
You could define your data type as double. The rule there is: doubleValue = decimalValue [ "e" [SIGN] 1*DIGIT ] / nanInfinity ;

Best Regards,
Christian

From: Hans Kruse [mailto:kruse@hanskruse.eu]
Sent: Mittwoch, 15. Juni 2016 15:01
To: user@olingo.apache.org<ma...@olingo.apache.org>
Subject: Re: Deserializing a decimal in scientific notation

Hi Rob,

@Rob Sessink in Varsseveld ;) (Father in law worked at your company). Did you rule out the locale being used on both the Dynamics CRM side and the Java side? Your notation suggests Dutch. If you enforce English on both sides I guess it might work better  and prevent communication errors when talking to your Indian parent company too.

Kind Regards,
Hans

Op wo 15 jun. 2016 om 10:54 schreef Rob Sessink | Kramp <Ro...@kramp.com>>:
We are using the Olingo 4.0 Java Library release 4.2.0 to connect to the
Dynamics 2016 CRM Web Api. So far it works great, but in quering for an
some entities we hit an ODataDeserializerException.

Basically where it comes down to, is that Olingo is failing to deserialize a
value notated in  scientific notation. The relevant property is a currency
value in Dynamics CRM with the value '11.500.000,00'. This is returned by
the Web API as '1.15E7'. In the class
org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal there
is a regex validation that fails for numbers in scientific notation.

Is this something that needs to be fixed in Olingo and is their a possible
workaround?

Regards Rob Sessink

java.lang.IllegalArgumentException: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:87)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:68)
at com.kramp.eai.customer.maki.actions.RetreiveAction.lookup(RetreiveAction.java:196)
at com.kramp.eai.customer.maki.actions.RetreiveActionIT.testLookupByUniqueIdentifier(RetreiveActionIT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:402)
at org.apache.olingo.client.core.serialization.ClientODataDeserializerImpl.toEntitySet(ClientODataDeserializerImpl.java:73)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:81)
... 27 more
Caused by: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:224)
at org.apache.olingo.client.core.serialization.JsonEntitySetDeserializer.doDeserialize(JsonEntitySetDeserializer.java:96)
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:400)
... 29 more
Caused by: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal.internalValueOfString(EdmDecimal.java:90)
at org.apache.olingo.commons.core.edm.primitivetype.AbstractPrimitiveType.valueOfString(AbstractPrimitiveType.java:69)
at org.apache.olingo.client.core.serialization.JsonDeserializer.fromPrimitive(JsonDeserializer.java:288)
at org.apache.olingo.client.core.serialization.JsonDeserializer.value(JsonDeserializer.java:385)
at org.apache.olingo.client.core.serialization.JsonDeserializer.populate(JsonDeserializer.java:276)
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:222)
... 31 more



Rob Sessink

Integration Engineer








[cid:image002.jpg@01D1C71B.FC450080]<http://www.kramp.com>




[Facebook]<https://www.facebook.com/Kramp.Benelux> [Twitter] <https://twitter.com/krampgroup>  [Youtube] <https://www.youtube.com/user/krampgroep>  [Google Plus] <https://plus.google.com/+kramp>  [Linked In] <https://www.linkedin.com/company/kramp>







DISCLAIMER This e-mail message may contain confidential or privileged information and is intended solely for the individual to whom it is addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. If you have received it in error, please notify us immediately by telephoning +31 315 254299, and destroy this e-mail and any attachments. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission.


P  Save Paper - Do you really need to print this e-mail?



RE: Deserializing a decimal in scientific notation

Posted by "Amend, Christian" <ch...@sap.com>.
Hi Rob,

to me it seems that the decimal value does not adhere to the OData specification. The ABNF rule for decimals is:
decimalValue = [SIGN] 1*DIGIT ["." 1*DIGIT]

If your value is “1.15e7” then this is not a valid value for decimals according to OData. There is currently no workaround to change the decimal handling.
You could define your data type as double. The rule there is: doubleValue = decimalValue [ "e" [SIGN] 1*DIGIT ] / nanInfinity ;

Best Regards,
Christian

From: Hans Kruse [mailto:kruse@hanskruse.eu]
Sent: Mittwoch, 15. Juni 2016 15:01
To: user@olingo.apache.org
Subject: Re: Deserializing a decimal in scientific notation

Hi Rob,

@Rob Sessink in Varsseveld ;) (Father in law worked at your company). Did you rule out the locale being used on both the Dynamics CRM side and the Java side? Your notation suggests Dutch. If you enforce English on both sides I guess it might work better  and prevent communication errors when talking to your Indian parent company too.

Kind Regards,
Hans

Op wo 15 jun. 2016 om 10:54 schreef Rob Sessink | Kramp <Ro...@kramp.com>>:
We are using the Olingo 4.0 Java Library release 4.2.0 to connect to the
Dynamics 2016 CRM Web Api. So far it works great, but in quering for an
some entities we hit an ODataDeserializerException.

Basically where it comes down to, is that Olingo is failing to deserialize a
value notated in  scientific notation. The relevant property is a currency
value in Dynamics CRM with the value '11.500.000,00'. This is returned by
the Web API as '1.15E7'. In the class
org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal there
is a regex validation that fails for numbers in scientific notation.

Is this something that needs to be fixed in Olingo and is their a possible
workaround?

Regards Rob Sessink

java.lang.IllegalArgumentException: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:87)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:68)
at com.kramp.eai.customer.maki.actions.RetreiveAction.lookup(RetreiveAction.java:196)
at com.kramp.eai.customer.maki.actions.RetreiveActionIT.testLookupByUniqueIdentifier(RetreiveActionIT.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:402)
at org.apache.olingo.client.core.serialization.ClientODataDeserializerImpl.toEntitySet(ClientODataDeserializerImpl.java:73)
at org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:81)
... 27 more
Caused by: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:224)
at org.apache.olingo.client.core.serialization.JsonEntitySetDeserializer.doDeserialize(JsonEntitySetDeserializer.java:96)
at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:400)
... 29 more
Caused by: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '1.15E7' has illegal content.
at org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal.internalValueOfString(EdmDecimal.java:90)
at org.apache.olingo.commons.core.edm.primitivetype.AbstractPrimitiveType.valueOfString(AbstractPrimitiveType.java:69)
at org.apache.olingo.client.core.serialization.JsonDeserializer.fromPrimitive(JsonDeserializer.java:288)
at org.apache.olingo.client.core.serialization.JsonDeserializer.value(JsonDeserializer.java:385)
at org.apache.olingo.client.core.serialization.JsonDeserializer.populate(JsonDeserializer.java:276)
at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:222)
... 31 more



Rob Sessink

Integration Engineer








[cid:image002.jpg@01D1C71A.B9C4BAD0]<http://www.kramp.com>




[Facebook]<https://www.facebook.com/Kramp.Benelux> [Twitter] <https://twitter.com/krampgroup>  [Youtube] <https://www.youtube.com/user/krampgroep>  [Google Plus] <https://plus.google.com/+kramp>  [Linked In] <https://www.linkedin.com/company/kramp>







DISCLAIMER This e-mail message may contain confidential or privileged information and is intended solely for the individual to whom it is addressed. If you are not the named addressee you should not disseminate, distribute or copy this e-mail. If you have received it in error, please notify us immediately by telephoning +31 315 254299, and destroy this e-mail and any attachments. E-mail transmission cannot be guaranteed to be secured or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message which arise as a result of e-mail transmission.


P  Save Paper - Do you really need to print this e-mail?



Re: Deserializing a decimal in scientific notation

Posted by Hans Kruse <kr...@hanskruse.eu>.
Hi Rob,

@Rob Sessink in Varsseveld ;) (Father in law worked at your company). Did
you rule out the locale being used on both the Dynamics CRM side and the
Java side? Your notation suggests Dutch. If you enforce English on both
sides I guess it might work better  and prevent communication errors when
talking to your Indian parent company too.

Kind Regards,
Hans

Op wo 15 jun. 2016 om 10:54 schreef Rob Sessink | Kramp <
Rob.Sessink@kramp.com>:

> We are using the Olingo 4.0 Java Library release 4.2.0 to connect to the
> Dynamics 2016 CRM Web Api. So far it works great, but in quering for an
> some entities we hit an ODataDeserializerException.
>
> Basically where it comes down to, is that Olingo is failing to deserialize
> a
> value notated in  scientific notation. The relevant property is a currency
> value in Dynamics CRM with the value '11.500.000,00'. This is returned by
> the Web API as '1.15E7'. In the class
> org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal there
> is a regex validation that fails for numbers in scientific notation.
>
> Is this something that needs to be fixed in Olingo and is their a possible
> workaround?
>
> Regards Rob Sessink
>
> java.lang.IllegalArgumentException:
> org.apache.olingo.client.api.serialization.ODataDeserializerException:
> java.io.IOException:
> org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal
> '1.15E7' has illegal content.
> at
> org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:87)
> at
> org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:68)
> at
> com.kramp.eai.customer.maki.actions.RetreiveAction.lookup(RetreiveAction.java:196)
> at
> com.kramp.eai.customer.maki.actions.RetreiveActionIT.testLookupByUniqueIdentifier(RetreiveActionIT.java:95)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
> at
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
> at
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
> at
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
> at
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
> Caused by:
> org.apache.olingo.client.api.serialization.ODataDeserializerException:
> java.io.IOException:
> org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal
> '1.15E7' has illegal content.
> at
> org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:402)
> at
> org.apache.olingo.client.core.serialization.ClientODataDeserializerImpl.toEntitySet(ClientODataDeserializerImpl.java:73)
> at
> org.apache.olingo.client.core.communication.request.retrieve.ODataEntitySetRequestImpl$ODataEntitySetResponseImpl.getBody(ODataEntitySetRequestImpl.java:81)
> ... 27 more
> Caused by: java.io.IOException:
> org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal
> '1.15E7' has illegal content.
> at
> org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:224)
> at
> org.apache.olingo.client.core.serialization.JsonEntitySetDeserializer.doDeserialize(JsonEntitySetDeserializer.java:96)
> at
> org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:400)
> ... 29 more
> Caused by: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException:
> The literal '1.15E7' has illegal content.
> at
> org.apache.olingo.commons.core.edm.primitivetype.EdmDecimal.internalValueOfString(EdmDecimal.java:90)
> at
> org.apache.olingo.commons.core.edm.primitivetype.AbstractPrimitiveType.valueOfString(AbstractPrimitiveType.java:69)
> at
> org.apache.olingo.client.core.serialization.JsonDeserializer.fromPrimitive(JsonDeserializer.java:288)
> at
> org.apache.olingo.client.core.serialization.JsonDeserializer.value(JsonDeserializer.java:385)
> at
> org.apache.olingo.client.core.serialization.JsonDeserializer.populate(JsonDeserializer.java:276)
> at
> org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:222)
> ... 31 more
>
>
>
> *Rob Sessink *
>
> Integration Engineer
>
>
>
>
> <http://www.kramp.com>
> [image: Facebook] <https://www.facebook.com/Kramp.Benelux> [image:
> Twitter] <https://twitter.com/krampgroup> [image: Youtube]
> <https://www.youtube.com/user/krampgroep> [image: Google Plus]
> <https://plus.google.com/+kramp> [image: Linked In]
> <https://www.linkedin.com/company/kramp>
>
>
>
>
>
> *DISCLAIMER* *This e-mail message may contain confidential or privileged
> information and is intended solely for the individual to whom it is
> addressed. If you are not the named addressee you should not disseminate,
> distribute or copy this e-mail. If you have received it in error, please
> notify us immediately by telephoning +31 315 254299, and destroy this
> e-mail and any attachments. E-mail transmission cannot be guaranteed to be
> secured or error-free as information could be intercepted, corrupted, lost,
> destroyed, arrive late or incomplete, or contain viruses. The sender
> therefore does not accept liability for any errors or omissions in the
> contents of this message which arise as a result of e-mail transmission.*
>
>
>
> P  Save Paper - Do you really need to print this e-mail?
>