Repository: camel Updated Branches: refs/heads/master 32ef19d89 -> 13cd60739
CAMEL-10238: Refresh oauth token on 401 in handshake error Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/13cd6073 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/13cd6073 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/13cd6073 Branch: refs/heads/master Commit: 13cd60739600d8a7522bd1b1cafcd26773449d64 Parents: 8e55d4c Author: Dhiraj Bokde <dhira...@yahoo.com> Authored: Fri Sep 2 10:39:13 2016 -0700 Committer: Dhiraj Bokde <dhira...@yahoo.com> Committed: Fri Sep 2 10:39:49 2016 -0700 ---------------------------------------------------------------------- .../internal/streaming/SubscriptionHelper.java | 25 +++++++++++--------- 1 file changed, 14 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/13cd6073/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java ---------------------------------------------------------------------- diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java index ed4c152..411caa1 100644 --- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java +++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/streaming/SubscriptionHelper.java @@ -121,6 +121,20 @@ public class SubscriptionHelper extends ServiceSupport { handshakeError = (String) message.get(ERROR_FIELD); handshakeException = getFailure(message); + + if (handshakeError != null) { + // refresh oauth token, if it's a 401 error + if (handshakeError.startsWith("401::")) { + try { + LOG.info("Refreshing OAuth token..."); + session.login(session.getAccessToken()); + LOG.info("Refreshed OAuth token for re-handshake"); + } catch (SalesforceException e) { + LOG.error("Error renewing OAuth token on 401 error: " + e.getMessage(), e); + } + } + } + // restart if handshake fails for any reason restartClient(); @@ -144,17 +158,6 @@ public class SubscriptionHelper extends ServiceSupport { connectError = (String) message.get(ERROR_FIELD); connectException = getFailure(message); - if (connectError != null) { - // refresh oauth token, if it's a 403 error - if (connectError.startsWith("403::")) { - try { - session.login(null); - } catch (SalesforceException e) { - LOG.error("Error renewing OAuth token on Connect 403: " + e.getMessage(), e); - } - } - } - } else if (reconnecting) { reconnecting = false;