You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Dhiraj Bokde (JIRA)" <ji...@apache.org> on 2015/05/04 19:16:06 UTC

[jira] [Commented] (CAMEL-8737) camel-salesforce - Unable to generate DTOs for Filtered Lookup fields

    [ https://issues.apache.org/jira/browse/CAMEL-8737?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14526879#comment-14526879 ] 

Dhiraj Bokde commented on CAMEL-8737:
-------------------------------------

This is weird. I ran integration tests with version 33.0, which exercises _DescribeSObjectResult_, and it worked. Maybe the test Salesforce account had no data for this field. I'm troubleshooting this now, so any hints on how this SObject description got a value for this field will help. 

As long as you use the same API version at runtime as used in code generation, you should be ok. Obviously, you won't have access to any Salesforce fields that were added after 30.0. 

As for the solution, off the bat I'm not sure how _DescribeSObjectResult_ could have an array and non-array field simultaneously based on API versions. Maybe a custom type handler?? 

> camel-salesforce - Unable to generate DTOs for Filtered Lookup fields
> ---------------------------------------------------------------------
>
>                 Key: CAMEL-8737
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8737
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-salesforce
>    Affects Versions: 2.15.1
>            Reporter: Simon Delfab
>            Assignee: Dhiraj Bokde
>
> Get the following exception:
> Caused by: org.apache.maven.plugin.MojoExecutionException: Error getting SObject description for 'Account_Request__c': Can not deserialize instance of java.lang.String out of START_ARRAY token
>  at [Source: java.io.ByteArrayInputStream@1bd8e9d9; line: 1, column: 36155] (through reference chain: org.apache.camel.component.salesforce.api.dto.SObjectDescription["fields"]->org.apache.camel.component.salesforce.api.dto.SObjectField["filteredLookupInfo"]->org.apache.camel.component.salesforce.ap
> i.dto.FilteredLookupInfo["controllingFields"])
>         at org.apache.camel.maven.CamelSalesforceMojo.execute(CamelSalesforceMojo.java:312)
>         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
>         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
>         ... 19 more
> Caused by: org.codehaus.jackson.map.JsonMappingException: Can not deserialize instance of java.lang.String out of START_ARRAY token
>  at [Source: java.io.ByteArrayInputStream@1bd8e9d9; line: 1, column: 36155] (through reference chain: org.apache.camel.component.salesforce.api.dto.SObjectDescription["fields"]->org.apache.camel.component.salesforce.api.dto.SObjectField["filteredLookupInfo"]->org.apache.camel.component.salesforce.ap
> i.dto.FilteredLookupInfo["controllingFields"])
>         at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163)
> Any suggestions what could causing this issue?
> From the looks of it, the class
> public class FilteredLookupInfo extends AbstractDTOBase {
>     private String controllingFields;
>     ...
> }
> should be 
> public class FilteredLookupInfo extends AbstractDTOBase {
>     private List controllingFields;
> }
> The type in question has a child relation to another custom object.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)