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 2016/07/14 02:40:20 UTC

[jira] [Commented] (CAMEL-10144) Salesforce keeps breaking backward compatibility by adding fields to older API versions

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

Dhiraj Bokde commented on CAMEL-10144:
--------------------------------------

This is a generic problem with Salesforce, so the solution is to follow the REST principle of ignoring unknown fields altogether. This behaviour will be common to JSON and XML and will avoid future issues where running code breaks in production because Salesforce decided to add fields from new APIs in responses to older API versions. 

> Salesforce keeps breaking backward compatibility by adding fields to older API versions
> ---------------------------------------------------------------------------------------
>
>                 Key: CAMEL-10144
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10144
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-salesforce
>    Affects Versions: 2.17.2, 2.18.0
>            Reporter: Dhiraj Bokde
>            Assignee: Dhiraj Bokde
>             Fix For: 2.17.3, 2.18.0
>
>
> Salesforce adds fields to org.apache.camel.component.salesforce.api.dto.RestResources even after an API has been released. This needs to be handled in the component by ignoring unknown properties for that type. 
> XStream doesn't support doing this for an single DTO, but it can be done for all types by using XStream.ignoreUknownProperties(). It will make it ignore all unknown properties for all inbuilt DTOs as wells user generated ones. But since the XML payload is less popular, hopefully this behavior won't be an issue. 



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