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 1e641ce3c7..aa6ecfa5f9 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
@@ -22,12 +22,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 {
@@ -46,6 +49,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;
}
@@ -169,5 +174,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 a3fc80a271..b94f883e7a 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
@@ -165,6 +165,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 842609c77c..5d2923ae55 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
@@ -56,7 +56,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 ffd1467675..450c25c828 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
@@ -49,6 +49,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 4119012cc6..90ddfd1f8e 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
@@ -43,4 +43,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