diff --git a/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java b/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java
index f02a978e66..23fb662b90 100644
--- a/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java
+++ b/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesForceManagedConnectionFactory.java
@@ -18,12 +18,15 @@
package org.teiid.resource.adapter.salesforce;
import javax.resource.ResourceException;
-import javax.security.auth.Subject;
import org.teiid.core.TeiidRuntimeException;
+import org.teiid.logging.LogConstants;
+import org.teiid.logging.LogManager;
import org.teiid.resource.spi.BasicConnectionFactory;
import org.teiid.resource.spi.BasicManagedConnectionFactory;
-import org.teiid.resource.spi.ConnectionContext;
+import org.teiid.translator.salesforce.SalesForcePlugin;
+
+import com.sforce.soap.partner.Connector;
public class SalesForceManagedConnectionFactory extends BasicManagedConnectionFactory {
@@ -42,6 +45,8 @@ public class SalesForceManagedConnectionFactory extends BasicManagedConnectionFa
private String configProperties;
private String configFile; // path to the "jbossws-cxf.xml" file
+ private boolean warned;
+
public String getUsername() {
return username;
}
@@ -165,5 +170,14 @@ && checkEquals(this.proxyUsername, other.proxyUsername)
&& checkEquals(this.proxyPassword, other.proxyPassword)
&& checkEquals(this.configProperties, other.configProperties);
}
+ public void checkVersion(String apiVersion) {
+ if (!warned) {
+ warned = true;
+ String javaApiVersion = Connector.END_POINT.substring(Connector.END_POINT.lastIndexOf('/') + 1, Connector.END_POINT.length());
+ if (!javaApiVersion.equals(apiVersion)) {
+ LogManager.logWarning(LogConstants.CTX_CONNECTOR, SalesForcePlugin.Util.gs(SalesForcePlugin.Event.TEIID13009, apiVersion, javaApiVersion));
+ }
+ }
+ }
}
diff --git a/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java b/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java
index 159fe60c9c..e25bf35ce5 100644
--- a/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java
+++ b/connectors/salesforce/connector-salesforce/src/main/java/org/teiid/resource/adapter/salesforce/SalesforceConnectionImpl.java
@@ -161,6 +161,7 @@ private void login(SalesForceManagedConnectionFactory mcf) throws ResourceExcept
int index = endpoint.indexOf("Soap/u/"); //$NON-NLS-1$
int endIndex = endpoint.indexOf('/', index+7);
apiVersion = endpoint.substring(index+7,endIndex);
+ mcf.checkVersion(apiVersion);
String bulkEndpoint = endpoint.substring(0, endpoint.indexOf("Soap/"))+ "async/" + apiVersion;//$NON-NLS-1$ //$NON-NLS-2$
config.setRestEndpoint(bulkEndpoint);
// This value identifies Teiid as a SF certified solution.
diff --git a/connectors/salesforce/feature-pack-salesforce/src/main/resources/modules/system/layers/dv/org/jboss/teiid/resource-adapter/salesforce/main/META-INF/ra.xml b/connectors/salesforce/feature-pack-salesforce/src/main/resources/modules/system/layers/dv/org/jboss/teiid/resource-adapter/salesforce/main/META-INF/ra.xml
index 6bae75125e..2e8a83d193 100644
--- a/connectors/salesforce/feature-pack-salesforce/src/main/resources/modules/system/layers/dv/org/jboss/teiid/resource-adapter/salesforce/main/META-INF/ra.xml
+++ b/connectors/salesforce/feature-pack-salesforce/src/main/resources/modules/system/layers/dv/org/jboss/teiid/resource-adapter/salesforce/main/META-INF/ra.xml
@@ -52,7 +52,7 @@
{$display:"Salesforce URL",$description:"URL for connecting to Salesforce",$advanced:"true"}
URL
java.lang.String
- https://www.salesforce.com/services/Soap/u/34.0
+ https://www.salesforce.com/services/Soap/u/22.0
diff --git a/connectors/salesforce/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForcePlugin.java b/connectors/salesforce/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForcePlugin.java
index dcd4425e66..a0e1c45970 100644
--- a/connectors/salesforce/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForcePlugin.java
+++ b/connectors/salesforce/translator-salesforce/src/main/java/org/teiid/translator/salesforce/SalesForcePlugin.java
@@ -45,6 +45,7 @@ public static enum Event implements BundleUtil.Event{
TEIID13005,
TEIID13006,
TEIID13007,
- TEIID13008,
+ TEIID13008,
+ TEIID13009,
}
}
diff --git a/connectors/salesforce/translator-salesforce/src/main/resources/org/teiid/translator/salesforce/i18n.properties b/connectors/salesforce/translator-salesforce/src/main/resources/org/teiid/translator/salesforce/i18n.properties
index d0c634218a..c524a58893 100644
--- a/connectors/salesforce/translator-salesforce/src/main/resources/org/teiid/translator/salesforce/i18n.properties
+++ b/connectors/salesforce/translator-salesforce/src/main/resources/org/teiid/translator/salesforce/i18n.properties
@@ -39,4 +39,5 @@ TEIID13004=The query is missing type, id and attribute values.
TEIID13005=The attribute count does not match with the value parameters supplied.
TEIID13006=columns.size and values.size are not the same
TEIID13007=Only literal values are supported in the insert, expressions are not allowed.
-TEIID13008=The delete criteria is not a CompareCriteria
\ No newline at end of file
+TEIID13008=The delete criteria is not a CompareCriteria
+TEIID13009=Accessing remote API version {0} with Java API version {1} may not be compatible.
\ No newline at end of file