This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-3.4.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-3.4.x by this push:
new 7220adf 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.
7220adf is described below
commit 7220adf2db269e3585c0fb5e2736e01c4d08f669
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 | 21 +++++++++++++++------
.../internal/client/DefaultBulkApiClient.java | 22 ++++++++++++----------
2 files changed, 27 insertions(+), 16 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 9bfe64f..67c419a 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
@@ -292,8 +292,11 @@ 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) {
- throw new SalesforceException(String.format("Error marshaling
request for {%s:%s} : %s", request.getMethod(), request.getURI(),
e.getMessage()), e);
+ } catch (Throwable e) {
+ throw new SalesforceException(
+ String.format("Error marshaling request for {%s:%s} : %s",
request.getMethod(), request.getURI(),
+ e.getMessage()),
+ e);
}
}
@@ -301,8 +304,11 @@ public class DefaultAnalyticsApiClient extends
AbstractClientBase implements Ana
try {
return objectMapper.readValue(response, responseTypeReference);
- } catch (IOException e) {
- throw new SalesforceException(String.format("Error unmarshaling
response {%s:%s} : %s", request.getMethod(), request.getURI(), e.getMessage()),
e);
+ } catch (Throwable e) {
+ throw new SalesforceException(
+ String.format("Error unmarshaling response {%s:%s} : %s",
request.getMethod(), request.getURI(),
+ e.getMessage()),
+ e);
}
}
@@ -314,8 +320,11 @@ public class DefaultAnalyticsApiClient extends
AbstractClientBase implements Ana
try {
return objectMapper.readValue(response, responseClass);
- } catch (IOException e) {
- throw new SalesforceException(String.format("Error unmarshaling
response {%s:%s} : %s", request.getMethod(), request.getURI(), e.getMessage()),
e);
+ } catch (Throwable e) {
+ throw new SalesforceException(
+ String.format("Error unmarshaling response {%s:%s} : %s",
request.getMethod(), request.getURI(),
+ e.getMessage()),
+ e);
}
}
}
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 813a56e..315d95e 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
@@ -87,8 +87,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;
}
@@ -438,10 +438,11 @@ public class DefaultBulkApiClient extends
AbstractClientBase implements BulkApiC
JAXBElement<T> result = unmarshaller.unmarshal(xmlSource,
resultClass);
return result.getValue();
- } catch (JAXBException | SAXException | ParserConfigurationException
e) {
- throw new SalesforceException(String.format("Error unmarshaling
response {%s:%s} : %s", request.getMethod(), request.getURI(), e.getMessage()),
e);
- } catch (IllegalArgumentException e) {
- throw new SalesforceException(String.format("Error unmarshaling
response for {%s:%s} : %s", request.getMethod(), request.getURI(),
e.getMessage()), e);
+ } catch (Throwable e) {
+ throw new SalesforceException(
+ String.format("Error unmarshaling response for {%s:%s} :
%s", request.getMethod(), request.getURI(),
+ e.getMessage()),
+ e);
}
}
@@ -452,10 +453,11 @@ 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) {
- throw new SalesforceException(String.format("Error marshaling
request for {%s:%s} : %s", request.getMethod(), request.getURI(),
e.getMessage()), e);
+ } catch (Throwable e) {
+ throw new SalesforceException(
+ String.format("Error marshaling request for {%s:%s} : %s",
request.getMethod(), request.getURI(),
+ e.getMessage()),
+ e);
}
}