Chris Romack created CAMEL-12434:
------------------------------------

             Summary: Limits can not be deserialized in API versions >= 41.0
                 Key: CAMEL-12434
                 URL: https://issues.apache.org/jira/browse/CAMEL-12434
             Project: Camel
          Issue Type: Bug
          Components: camel-salesforce
    Affects Versions: 2.21.0, 2.20.2, 2.20.1
            Reporter: Chris Romack


Starting with Salesforce REST API 41.0, it appears that they have made a 
breaking change to the Limits json payload.  Jackson can no longer deserialize.

 

Error is

2018-04-11T13:02:45.644-0500 ERROR [dispatcherServlet] http-nio-8080-exec-3 [] 
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw 
exception [Request processing failed; nested exception is 
org.apache.camel.CamelExecutionException: Exception occurred during execution 
on the exchange: 
Exchange[ID-isdv183994l-containerstore-com-1523469717836-0-13]] with root cause
com.fasterxml.jackson.databind.exc.InvalidFormatException: Can not deserialize 
Map key of type org.apache.camel.component.salesforce.api.dto.Limits$Operation 
from String "PermissionSets": not a valid representation, problem: 
(com.fasterxml.jackson.databind.exc.InvalidFormatException) Can not deserialize 
Map key of type org.apache.camel.component.salesforce.api.dto.Limits$Operation 
from String "PermissionSets": not one of values excepted for Enum class: 
[DailyApiRequests, DailyDurableGenericStreamingApiEvents, 
ConcurrentAsyncGetReportInstances, DailyGenericStreamingApiEvents, 
DailyStreamingApiEvents, DailyWorkflowEmails, HourlyDashboardStatuses, 
HourlySyncReportRuns, DataStorageMB, SingleEmail, HourlyTimeBasedWorkflow, 
ConcurrentSyncReportRuns, DurableStreamingApiConcurrentClients, 
DailyBulkApiRequests, FileStorageMB, DailyAsyncApexExecutions, MassEmail, 
StreamingApiConcurrentClients, HourlyDashboardResults, HourlyAsyncReportRuns, 
HourlyDashboardRefreshes, HourlyODataCallout, DailyDurableStreamingApiEvents]
 at [Source: java.io.ByteArrayInputStream@215469a9; line: 1, column: 6646]
 at [Source: java.io.ByteArrayInputStream@215469a9; line: 1, column: 6646]
 at 
com.fasterxml.jackson.databind.exc.InvalidFormatException.from(InvalidFormatException.java:74)
 at 
com.fasterxml.jackson.databind.DeserializationContext.weirdKeyException(DeserializationContext.java:1389)
 at 
com.fasterxml.jackson.databind.DeserializationContext.handleWeirdKey(DeserializationContext.java:880)
 at 
com.fasterxml.jackson.databind.deser.std.StdKeyDeserializer.deserializeKey(StdKeyDeserializer.java:130)
 at 
com.fasterxml.jackson.databind.deser.std.MapDeserializer._readAndBind(MapDeserializer.java:445)
 at 
com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:365)
 at 
com.fasterxml.jackson.databind.deser.std.MapDeserializer.deserialize(MapDeserializer.java:27)
 at 
com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3786)
 at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2139)
 at com.fasterxml.jackson.core.JsonParser.readValueAs(JsonParser.java:1650)
 at 
org.apache.camel.component.salesforce.api.dto.Limits$LimitsDeserializer.deserialize(Limits.java:55)
 at 
com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3814)
 at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2924)
 at 
org.apache.camel.component.salesforce.internal.processor.JsonRestProcessor.processResponse(JsonRestProcessor.java:197)
 at 
org.apache.camel.component.salesforce.internal.processor.AbstractRestProcessor.lambda$processWithResponseCallback$5(AbstractRestProcessor.java:783)
 at 
org.apache.camel.component.salesforce.internal.client.DefaultRestClient$DelegatingClientCallback.onResponse(DefaultRestClient.java:502)
 at 
org.apache.camel.component.salesforce.internal.client.AbstractClientBase$1.onComplete(AbstractClientBase.java:235)
 at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:193)
 at 
org.eclipse.jetty.client.ResponseNotifier.notifyComplete(ResponseNotifier.java:185)
 at 
org.eclipse.jetty.client.HttpReceiver.terminateResponse(HttpReceiver.java:459)
 at org.eclipse.jetty.client.HttpReceiver.responseSuccess(HttpReceiver.java:405)
 at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.messageComplete(HttpReceiverOverHTTP.java:297)
 at org.eclipse.jetty.http.HttpParser.parseFields(HttpParser.java:1068)
 at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1393)
 at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.parse(HttpReceiverOverHTTP.java:170)
 at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.process(HttpReceiverOverHTTP.java:131)
 at 
org.eclipse.jetty.client.http.HttpReceiverOverHTTP.receive(HttpReceiverOverHTTP.java:70)
 at 
org.eclipse.jetty.client.http.HttpChannelOverHTTP.receive(HttpChannelOverHTTP.java:130)
 at 
org.eclipse.jetty.client.http.HttpConnectionOverHTTP.onFillable(HttpConnectionOverHTTP.java:116)
 at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
 at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:289)
 at org.eclipse.jetty.io.ssl.SslConnection$3.succeeded(SslConnection.java:149)
 at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:104)
 at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
 at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
 at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
 at 
org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
 at 
org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:243)
 at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:679)
 at 
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:597)
 at java.lang.Thread.run(Thread.java:748)
2018-04-11T13:14:21.737-0500 WARN SubscriptionHelper 
HttpClient@2040015820-scheduler [] Connect failure: 
{failure={exception=java.util.concurren



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to