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