我必须通过我的 Java 应用程序连接到 salesforce,并按照salesforce.com Introduction提供的步骤进行操作。我在这个过程中遇到了几个问题,任何帮助都会对我有很大帮助。
问题 1:
wsc.jar
首先,从 GIT 克隆项目后,我无法构建。myeclipse
当编译器版本为 1.6时,导入该项目时会出现编译错误。如果我将编译器版本更改为 1.7,则没有错误。问题 2:我没有构建 jar 文件,而是
wsc-20.jar
从在线资源(下面的评论中提供的链接)下载并enterprise.jar
从 Salesforce 开发人员提供给我的 WSDL 生成。我在我的项目构建路径中包含wsc-23.jar
并enterprise.jar
实现了 salesforce 提供的代码(下面提供了链接)。当我运行代码时,遇到如下运行时异常,请求无法发送到test.salesforce.com
. 下面提供了异常和错误日志。
经过一番调查,我发现当 Java JRE 版本切换到 1.7 时,API 库和 Java 代码运行良好。但不知何故,这在 1.6 环境中不起作用,我收到以下错误,我无法将项目的 Java 版本升级到 1.7。
运行时异常:
com.sforce.ws.ConnectionException:无法向https://test.salesforce.com/services/Soap/c/36.0/发送请求 在 com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:129) 在 com.sforce.soap.enterprise.EnterpriseConnection.login(EnterpriseConnection.java:1) 在 com.sforce.soap.enterprise.EnterpriseConnection.( EnterpriseConnection.java:1) at com.nsf.ecap.web.business.proposal.SalesforceLoginTest.main(SalesforceLoginTest.java:27) 原因:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法在 com.sun 的 com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174) 处找到请求目标的有效证书路径。 net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1611) 在 com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:187) 在 com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:181) 在 com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1035) 在 [ 1] com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:124) 在 com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516) 在 com。 sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
任何建议都会很有帮助。