Uploaded image for project: 'Olingo'
  1. Olingo
  2. OLINGO-1150

Can't read Decimal value which value bigger than 10M from MicrosoftCRM

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • (Java) V4 4.3.0
    • (Java) V4 4.5.0
    • None

    Description

      {
        "@odata.context":"https://talend.api.crm.dynamics.com/api/data/v8.1/$metadata#salesorders(salesorderid,new_talend_test)","#Microsoft.Dynamics.CRM.FulfillSalesOrder":{
          "title":"FulfillSalesOrder","target":"https://talend.api.crm.dynamics.com/api/data/v8.1/salesorders/Microsoft.Dynamics.CRM.FulfillSalesOrder"
        },"#Microsoft.Dynamics.CRM.ValidateSharePointFolder":{
          "title":"ValidateSharePointFolder","target":"https://talend.api.crm.dynamics.com/api/data/v8.1/salesorders/Microsoft.Dynamics.CRM.ValidateSharePointFolder"
        },"value":[
          {
            "@odata.type":"#Microsoft.Dynamics.CRM.salesorder","@odata.id":"https://talend.api.crm.dynamics.com/api/data/v8.1/salesorders(6a5ef029-1b66-e711-8114-e0071b6ad141)","@odata.etag":"W/\"7048734\"","@odata.editLink":"salesorders(6a5ef029-1b66-e711-8114-e0071b6ad141)","salesorderid@odata.type":"#Guid","salesorderid":"6a5ef029-1b66-e711-8114-e0071b6ad141","new_talend_test@odata.type":"#Decimal","new_talend_test":31991163.0000,"_transactioncurrencyid_value@odata.type":"#Guid","_transactioncurrencyid_value":"dca1714c-6d1a-e311-a5fb-b4b52f67b688","transactioncurrencyid@odata.associationLink":"https://talend.api.crm.dynamics.com/api/data/v8.1/salesorders(6a5ef029-1b66-e711-8114-e0071b6ad141)/transactioncurrencyid/$ref","transactioncurrencyid@odata.navigationLink":"https://talend.api.crm.dynamics.com/api/data/v8.1/salesorders(6a5ef029-1b66-e711-8114-e0071b6ad141)/transactioncurrencyid"
          }
        ]
      }
      

      We have this kind of response from Microsoft CRM which included this kind of value:

      "new_talend_test@odata.type":"#Decimal","new_talend_test":31991163.0000
      

      bellow is the error:

      Exception in component tMicrosoftCrmInput_4 (TestCase_tMicrosoftCRMInput)
      java.lang.IllegalArgumentException: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '3.1991163E7' 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 local_project.testcase_tmicrosoftcrminput_0_1.TestCase_tMicrosoftCRMInput.tMicrosoftCrmInput_4Process(TestCase_tMicrosoftCRMInput.java:743)
      	at local_project.testcase_tmicrosoftcrminput_0_1.TestCase_tMicrosoftCRMInput.runJobInTOS(TestCase_tMicrosoftCRMInput.java:1140)
      	at local_project.testcase_tmicrosoftcrminput_0_1.TestCase_tMicrosoftCRMInput.main(TestCase_tMicrosoftCRMInput.java:989)
      Caused by: org.apache.olingo.client.api.serialization.ODataDeserializerException: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '3.1991163E7' 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:83)
      	... 4 more
      Caused by: java.io.IOException: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '3.1991163E7' has illegal content.
      	at org.apache.olingo.client.core.serialization.JsonEntityDeserializer.doDeserialize(JsonEntityDeserializer.java:236)
      	at org.apache.olingo.client.core.serialization.JsonEntitySetDeserializer.doDeserialize(JsonEntitySetDeserializer.java:100)
      	at org.apache.olingo.client.core.serialization.JsonDeserializer.toEntitySet(JsonDeserializer.java:400)
      	... 6 more
      Caused by: org.apache.olingo.commons.api.edm.EdmPrimitiveTypeException: The literal '3.1991163E7' 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:293)
      	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:234)
      	... 8 more
      

      Attachments

        Activity

          People

            rareddy Ramesh Reddy
            zhaojin0621 Jin ZHAO
            Votes:
            3 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m