diff --git a/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java b/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java index 0f45c5bbc8..94a3f004ca 100644 --- a/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java +++ b/connectors/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java @@ -103,10 +103,6 @@ private void login(String username, String password, URL url, SalesForceManagedC Bus bus = BusFactory.getThreadDefaultBus(); BusFactory.setThreadDefaultBus(mcf.getBus()); - Map requestContext = ((BindingProvider)sfSoap).getRequestContext(); - if (mcf.getConnectTimeout() != null) { - requestContext.put(CONNECTION_TIMEOUT, mcf.getConnectTimeout()); - } try { sfService = new SforceService(); sh = new SessionHeader(); @@ -115,6 +111,10 @@ private void login(String username, String password, URL url, SalesForceManagedC sfService.setHandlerResolver(new SalesforceHandlerResolver(sh)); sfSoap = sfService.getSoap(); + Map requestContext = ((BindingProvider)sfSoap).getRequestContext(); + if (mcf.getConnectTimeout() != null) { + requestContext.put(CONNECTION_TIMEOUT, mcf.getConnectTimeout()); + } requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, url.toExternalForm()); loginResult = sfSoap.login(username, password); @@ -133,7 +133,7 @@ private void login(String username, String password, URL url, SalesForceManagedC BusFactory.setThreadDefaultBus(bus); } LogManager.logTrace(LogConstants.CTX_CONNECTOR, "Login was successful for username " + username); //$NON-NLS-1$ - + Map requestContext = ((BindingProvider)sfSoap).getRequestContext(); // Reset the SOAP endpoint to the returned server URL requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY,loginResult.getServerUrl()); // or maybe org.apache.cxf.message.Message.ENDPOINT_ADDRESS