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

Simon Delfab commented on CAMEL-8737:
-------------------------------------

Found out what the problem is. For the default version of the API (33.0), the 
DescribeSObjectResult has a string array for controllingFields: 

https://www.salesforce.com/developer/docs/api/Content/sforce_api_calls_describesobjects_describesobjectresult.htm#topic-title

So my hunch in the description is correct. The controllingFields field should 
be a List.

I was able to get the code generator to work when I specified API version 30.0. 
Will this cause an issue later on?

> 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
>
> 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)

Reply via email to