Oracle ODI 12c cannot connect to salesforce

Posted by Tri Luu on 23-Dec-2016 03:40

Dear all,

I tried to configure Oracle ODI 12c with salesforce driver and get error:

java.sql.SQLException: [DataDirect][SForce JDBC Driver][SForce]General error: java.lang.ClassCastException: com.sun.proxy.$Proxy73 cannot be cast to com.ddtek.sforce.externals.javax.xml.ws.BindingProvider
    at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:144)
    at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:73)
    at com.sunopsis.sql.SnpsConnection.testConnection(SnpsConnection.java:1258)
    at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.getLocalConnect(SnpsDialogTestConnet.java:204)
    at com.sunopsis.graphical.dialog.SnpsDialogTestConnet.access$500(SnpsDialogTestConnet.java:62)
    at com.sunopsis.graphical.dialog.SnpsDialogTestConnet$6.doInBackground(SnpsDialogTestConnet.java:402)
    at com.sunopsis.graphical.dialog.SnpsDialogTestConnet$6.doInBackground(SnpsDialogTestConnet.java:398)
    at oracle.odi.ui.framework.AbsUIRunnableTask.run(AbsUIRunnableTask.java:258)
    at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:961)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: [DataDirect][SForce JDBC Driver][SForce]General error: java.lang.ClassCastException: com.sun.proxy.$Proxy73 cannot be cast to com.ddtek.sforce.externals.javax.xml.ws.BindingProvider
    at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.doGetConnection(LoginTimeoutDatasourceAdapter.java:144)
    at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter.getConnection(LoginTimeoutDatasourceAdapter.java:73)
    at oracle.odi.core.datasource.dwgobject.support.OnConnectOnDisconnectDataSourceAdapter.getConnection(OnConnectOnDisconnectDataSourceAdapter.java:87)
    at oracle.odi.jdbc.datasource.LoginTimeoutDatasourceAdapter$ConnectionProcessor.run(LoginTimeoutDatasourceAdapter.java:228)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    ... 1 more
Caused by: java.sql.SQLException: [DataDirect][SForce JDBC Driver][SForce]General error: java.lang.ClassCastException: com.sun.proxy.$Proxy73 cannot be cast to com.ddtek.sforce.externals.javax.xml.ws.BindingProvider
    at com.ddtek.jdbc.sforcebase.ddcn.b(Unknown Source)
    at com.ddtek.jdbc.sforcebase.ddcn.a(Unknown Source)
    at com.ddtek.jdbc.sforcebase.ddcm.b(Unknown Source)
    at com.ddtek.jdbc.sforcebase.ddcm.a(Unknown Source)
    at com.ddtek.jdbc.sforcecloud.ddd.a(Unknown Source)
    at com.ddtek.jdbc.sforcecloud.ddd.a(Unknown Source)
    at com.ddtek.jdbc.sforce.SForceImplConnection.c(Unknown Source)
    at com.ddtek.jdbc.sforcebase.BaseConnection.b(Unknown Source)
    at com.ddtek.jdbc.sforcebase.BaseConnection.m(Unknown Source)
    at com.ddtek.jdbc.sforcebase.BaseConnection.e(Unknown Source)
    at com.ddtek.jdbc.sforcebase.BaseConnection.a(Unknown Source)
    at com.ddtek.jdbc.sforcebase.BaseDriver.connect(Unknown Source)
    at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:412)
    at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:385)
    at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:352)
    at oracle.odi.jdbc.datasource.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:331)
    ... 6 more


Anyone has same issue? How can I resolve this issue.

Thanks.

All Replies

Posted by darwilso on 05-Jan-2017 11:37

Hi Tri,

Is this a trial version of the SFDC driver?  What is the OS the driver is installed on? Please provide the steps to reproduce the error.

Thanks.

Darryl

Posted by Sven B on 17-Jan-2017 03:55

Hi Darryl,

we are facing the same problem, thats why I answer to cour question.

We downloaded the trial version of the SFDC Driver (we tried both versions). We installed them and added the sforce.jar to the Classpath. Then we followed the steps mentioned here: www.ateam-oracle.com/.../. When we were trying to test the connection we became the Error mentioned above.

What we've found out is, that with the ODI 12.2.1.0.0 it seems to work, but when we are using the ODI 12.2.1.2.0 (same JDK (i.e. 1.8.0 U 111), same Enviroment) we are getting this error. Also with the Version 12.2.1.2.6.

Maybe it is an issue with some new classes of the new Version of ODI?

Do you see any chance that this will be fixed?

Thnaks

Sven

Posted by Brian Derwart on 19-Jan-2017 16:07

Sven,

Thanks for providing this additional information related to this working in a previous version of Oracle ODI. Since this works with ODI 12.2.1.0.0, have you had a chance to reach out to Oracle support for information on what might have changed in more recent versions of ODI?

Since the driver redistributes some classes from the javax.xml.ws package, could this issue be related to your CLASSPATH? where is the sforce.jar in the CLASSPATH used by ODI? If you move the sforce.jar to the end of the CLASSPATH does the behavior change?

If this is determined to be an issue with the driver, the we would like to get this issue resolved. Could you please send an email or call to open a support case so that we can troubleshoot further? Once the case is opened, the support rep may be able to leverage our relationship with Oracle to contact someone there for additional assistance.

Thanks,

Brian

Posted by Sven B on 20-Jan-2017 02:30

Hi Brian,

normaly the jar file has to be added in a seperate folder, which enhances the classpath. I couldn't exactly determine how the classpath is set when executing the application, but there are several conf-files, which are adding additional jars to the application, when it get started.

So I added the sforce.jar on the very first place of the first included conf-file and this seems to work. So I assume, by adding it the "right" way, the application launcher will add the jar file at the end of the classpath and then there is a class error because of another lib file which have the same class, but another version.

Now the question is which lib is provoking this issue and will the ODI run normal, by adding the lib in this way. Maybe Orcale uses now a newer version of a lib?

I have no chance to get an oracle rep to examine this, and I think the oracle support will not help, because this external jdbc driver isn't officaly supported.

Thanks,

Sven

Posted by Tri Luu on 20-Jan-2017 02:33

Dear Darwilso,

Yes, we are trying with trial version of SFDC driver on Windows 2008 Server. Oracle ODI Standalone version 12.

Steps to reproduce follow this link:

blogs.perficient.com/.../

Issue when testing connection at step: Create Salesforce Data Server:

This thread is closed