Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-8202

camel-salesforce multi-select picklist attribute query return value error in wildfly-camel

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • fuse-6.x-GA
    • jboss-fuse-6.3
    • WildFly Camel
    • None
    • % %
    • Hide

      1. Add a multi-select picklist to the Account definition in Salesforce (named MyMultiselect to correspond with query in description).
      2. Rebuild salesforce DTO objects, ensure MyMultiselect is in the Account definition.
      3. Modify query on branch 2.4-redhat wildfly-camel/itests/standalone/basic/src/main/resources/salesforce/salesforce-camel-context.xml and run wildfly-camel/itests/standalone/basic/src/main/java/org/wildfly/camel/test/salesforce/SalesforceSpringIntegrationTest.java

      Show
      1. Add a multi-select picklist to the Account definition in Salesforce (named MyMultiselect to correspond with query in description). 2. Rebuild salesforce DTO objects, ensure MyMultiselect is in the Account definition. 3. Modify query on branch 2.4-redhat wildfly-camel/itests/standalone/basic/src/main/resources/salesforce/salesforce-camel-context.xml and run wildfly-camel/itests/standalone/basic/src/main/java/org/wildfly/camel/test/salesforce/SalesforceSpringIntegrationTest.java

    Description

      The following is returned in EAP 6.4 with Fuse 6.2.1 R7 (with when querying for a multi-select picklist).

      Query:

      <to uri="salesforce:query?sObjectQuery=SELECT Id,AccountNumber,MyMultiselect__c FROM Account&amp;sObjectClass=org.wildfly.camel.test.salesforce.dto.QueryRecordsAccount"/>
      

      Exception:

      Caused by: org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of org.apache.camel.salesforce.dto.Account_MyMultiselectEnum[] out of VALUE_STRING token
       at [Source: java.io.ByteArrayInputStream@36b23d13; line: 1, column: 212] (through reference chain: org.apache.camel.salesforce.dto.QueryRecordsAccount["records"]->org.apache.camel.salesforce.dto.Account["MyMultiselect__c"])
      	at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163)
      	at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:219)
      	at org.codehaus.jackson.map.deser.StdDeserializationContext.mappingException(StdDeserializationContext.java:212)
      	at org.codehaus.jackson.map.deser.std.ObjectArrayDeserializer.handleNonArray(ObjectArrayDeserializer.java:177)
      	at org.codehaus.jackson.map.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:88)
      	at org.codehaus.jackson.map.deser.std.ObjectArrayDeserializer.deserialize(ObjectArrayDeserializer.java:18)
      	at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)
      	at org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414)
      	at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)
      	at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
      	at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:217)
      	at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:194)
      	at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:30)
      	at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)
      	at org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414)
      	at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)
      	at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
      	at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732)
      	at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1909)
      	at org.apache.camel.component.salesforce.internal.processor.JsonRestProcessor.processResponse(JsonRestProcessor.java:156)
      	... 19 more
      

      Red Hat Fuse 6.2.1 R7 return value:

      {"done":true,"totalSize":1,"records":[{"attributes":{"type":"Account","url":"/services/data/v33.0/sobjects/Account/0014600001873JTAAY"},"AccountNumber":"YY99","MyMultiselect__c":"mytest1;mytest3","Type":"Customer - Direct","Id":"0014600001873JTAAY"}]
      

      Attachments

        Issue Links

          Activity

            People

              jnethert@redhat.com James Netherton
              rhn-support-shiggs Stephen Higgs
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: