This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new c24760a0 CAMEL-15449: camel-salesforce - bulk and analytics api client 
should catch all kind of exceptions to ensure callback is triggered. Thanks to 
Michael Genereux for reporting and pointing out the problem.
c24760a0 is described below

commit c24760a08c18c3618cf4753d78b2e3b3cb57e99a
Author: Claus Ibsen <[email protected]>
AuthorDate: Sat Aug 29 14:45:42 2020 +0200

    CAMEL-15449: camel-salesforce - bulk and analytics api client should catch 
all kind of exceptions to ensure callback is triggered. Thanks to Michael 
Genereux for reporting and pointing out the problem.
---
 .../internal/client/DefaultAnalyticsApiClient.java          |  6 +++---
 .../salesforce/internal/client/DefaultBulkApiClient.java    | 13 ++++---------
 2 files changed, 7 insertions(+), 12 deletions(-)

diff --git 
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
 
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
index 806f58b..8a880e5 100644
--- 
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
+++ 
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultAnalyticsApiClient.java
@@ -301,7 +301,7 @@ public class DefaultAnalyticsApiClient extends 
AbstractClientBase implements Ana
     private void marshalRequest(Object input, Request request) throws 
SalesforceException {
         try {
             request.content(new 
BytesContentProvider(objectMapper.writeValueAsBytes(input)));
-        } catch (IOException e) {
+        } catch (Throwable e) {
             throw new SalesforceException(
                     String.format("Error marshaling request for {%s:%s} : %s", 
request.getMethod(), request.getURI(),
                             e.getMessage()),
@@ -314,7 +314,7 @@ public class DefaultAnalyticsApiClient extends 
AbstractClientBase implements Ana
 
         try {
             return objectMapper.readValue(response, responseTypeReference);
-        } catch (IOException e) {
+        } catch (Throwable e) {
             throw new SalesforceException(
                     String.format("Error unmarshaling response {%s:%s} : %s", 
request.getMethod(), request.getURI(),
                             e.getMessage()),
@@ -330,7 +330,7 @@ public class DefaultAnalyticsApiClient extends 
AbstractClientBase implements Ana
 
         try {
             return objectMapper.readValue(response, responseClass);
-        } catch (IOException e) {
+        } catch (Throwable e) {
             throw new SalesforceException(
                     String.format("Error unmarshaling response {%s:%s} : %s", 
request.getMethod(), request.getURI(),
                             e.getMessage()),
diff --git 
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
 
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
index f7b5ed4..42c724a 100644
--- 
a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
+++ 
b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/DefaultBulkApiClient.java
@@ -88,8 +88,8 @@ public class DefaultBulkApiClient extends AbstractClientBase 
implements BulkApiC
         final Request post = getRequest(HttpMethod.POST, jobUrl(null), 
headers);
         try {
             marshalRequest(objectFactory.createJobInfo(request), post, 
APPLICATION_XML_UTF8);
-        } catch (SalesforceException e) {
-            callback.onResponse(null, Collections.emptyMap(), e);
+        } catch (Throwable e) {
+            callback.onResponse(null, Collections.emptyMap(), new 
SalesforceException(e));
             return;
         }
 
@@ -455,7 +455,7 @@ public class DefaultBulkApiClient extends 
AbstractClientBase implements BulkApiC
                     String.format("Error unmarshaling response {%s:%s} : %s", 
request.getMethod(), request.getURI(),
                             e.getMessage()),
                     e);
-        } catch (IllegalArgumentException e) {
+        } catch (Throwable e) {
             throw new SalesforceException(
                     String.format("Error unmarshaling response for {%s:%s} : 
%s", request.getMethod(), request.getURI(),
                             e.getMessage()),
@@ -470,12 +470,7 @@ public class DefaultBulkApiClient extends 
AbstractClientBase implements BulkApiC
             marshaller.marshal(input, byteStream);
 
             request.content(new BytesContentProvider(contentType, 
byteStream.toByteArray()));
-        } catch (JAXBException e) {
-            throw new SalesforceException(
-                    String.format("Error marshaling request for {%s:%s} : %s", 
request.getMethod(), request.getURI(),
-                            e.getMessage()),
-                    e);
-        } catch (IllegalArgumentException e) {
+        } catch (Throwable e) {
             throw new SalesforceException(
                     String.format("Error marshaling request for {%s:%s} : %s", 
request.getMethod(), request.getURI(),
                             e.getMessage()),

Reply via email to