You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dh...@apache.org on 2015/04/06 22:38:13 UTC
[21/23] camel git commit: CAMEL-8575: Applied patch to fix Salesforce
security login retries, with thanks to Dmitry Lysai
CAMEL-8575: Applied patch to fix Salesforce security login retries, with thanks to Dmitry Lysai
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/49c60984
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/49c60984
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/49c60984
Branch: refs/heads/camel-2.12.x
Commit: 49c609843fadf7de86c87710007e2a6553da6d68
Parents: 588abb5
Author: Dhiraj Bokde <dh...@yahoo.com>
Authored: Mon Apr 6 13:28:01 2015 -0700
Committer: Dhiraj Bokde <dh...@yahoo.com>
Committed: Mon Apr 6 13:31:10 2015 -0700
----------------------------------------------------------------------
.../internal/client/AbstractClientBase.java | 26 ++++++++---------
.../salesforce/RestApiIntegrationTest.java | 30 ++++++++++++++++++++
2 files changed, 43 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/49c60984/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
index a00d289..b0c7442 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/main/java/org/apache/camel/component/salesforce/internal/client/AbstractClientBase.java
@@ -103,19 +103,6 @@ public abstract class AbstractClientBase implements SalesforceSession.Salesforce
protected void doHttpRequest(final ContentExchange request, final ClientResponseCallback callback) {
- // use SalesforceSecurityListener for security login retries
- try {
- final boolean isHttps = HttpSchemes.HTTPS.equals(String.valueOf(request.getScheme()));
- request.setEventListener(new SalesforceSecurityListener(
- httpClient.getDestination(request.getAddress(), isHttps),
- request, session, accessToken));
- } catch (IOException e) {
- // propagate exception
- callback.onResponse(null, new SalesforceException(
- String.format("Error registering security listener: %s", e.getMessage()),
- e));
- }
-
// use HttpEventListener for lifecycle events
request.setEventListener(new HttpEventListenerWrapper(request.getEventListener(), true) {
@@ -169,6 +156,19 @@ public abstract class AbstractClientBase implements SalesforceSession.Salesforce
}
});
+ // use SalesforceSecurityListener for security login retries
+ try {
+ final boolean isHttps = HttpSchemes.HTTPS.equals(String.valueOf(request.getScheme()));
+ request.setEventListener(new SalesforceSecurityListener(
+ httpClient.getDestination(request.getAddress(), isHttps),
+ request, session, accessToken));
+ } catch (IOException e) {
+ // propagate exception
+ callback.onResponse(null, new SalesforceException(
+ String.format("Error registering security listener: %s", e.getMessage()),
+ e));
+ }
+
// execute the request
try {
httpClient.send(request);
http://git-wip-us.apache.org/repos/asf/camel/blob/49c60984/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java
----------------------------------------------------------------------
diff --git a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java
index 9627cf3..e87a21f 100644
--- a/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java
+++ b/components/camel-salesforce/camel-salesforce-component/src/test/java/org/apache/camel/component/salesforce/RestApiIntegrationTest.java
@@ -44,7 +44,14 @@ import org.apache.camel.component.salesforce.dto.generated.Document;
import org.apache.camel.component.salesforce.dto.generated.Line_Item__c;
import org.apache.camel.component.salesforce.dto.generated.Merchandise__c;
import org.apache.camel.component.salesforce.dto.generated.QueryRecordsLine_Item__c;
+import org.apache.camel.util.jsse.SSLContextParameters;
+import org.eclipse.jetty.client.ContentExchange;
+import org.eclipse.jetty.client.HttpClient;
+import org.eclipse.jetty.client.HttpExchange;
+import org.eclipse.jetty.client.RedirectListener;
+import org.eclipse.jetty.http.HttpMethods;
import org.eclipse.jetty.http.HttpStatus;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -59,6 +66,29 @@ public class RestApiIntegrationTest extends AbstractSalesforceTestBase {
private static String testId;
@Test
+ public void testRetry() throws Exception {
+ SalesforceComponent sf = context().getComponent("salesforce", SalesforceComponent.class);
+ String accessToken = sf.getSession().getAccessToken();
+
+ SslContextFactory sslContextFactory = new SslContextFactory();
+ sslContextFactory.setSslContext(new SSLContextParameters().createSSLContext());
+ HttpClient httpClient = new HttpClient(sslContextFactory);
+ httpClient.setConnectTimeout(60000);
+ httpClient.setTimeout(60000);
+ httpClient.registerListener(RedirectListener.class.getName());
+ httpClient.start();
+
+ ContentExchange logoutGet = new ContentExchange(true);
+ logoutGet.setURL(sf.getLoginConfig().getLoginUrl() + "/services/oauth2/revoke?token=" + accessToken);
+ logoutGet.setMethod(HttpMethods.GET);
+ httpClient.send(logoutGet);
+ assertEquals(HttpExchange.STATUS_COMPLETED, logoutGet.waitForDone());
+ assertEquals(HttpStatus.OK_200, logoutGet.getResponseStatus());
+
+ doTestGetGlobalObjects("");
+ }
+
+ @Test
public void testGetVersions() throws Exception {
doTestGetVersions("");
doTestGetVersions("Xml");