将Java客户端应用程序与Salesforce集成的问题(wsc API)

时间:2016-03-11 16:05:00

标签: java salesforce sslhandshakeexception wsc

我必须通过我的Java应用程序连接到salesforce,并按照salesforce.com Introduction提供的步骤操作。我在这个过程中遇到了一些问题,任何帮助对我都有很大的帮助。

  • 问题1:首先和foremeost从GIT克隆项目后,我无法构建wsc.jar。当编译器版本为1.6时,在myeclipse中导入时,项目会出现编译错误。如果我将编译器版本更改为1.7,则没有错误。

  • 问题2:我没有构建jar文件,而是从在线资源(下面的评论中提供的链接)下载wsc-20.jar并从WSDL生成enterprise.jar由salesforce开发人员给我的。我在项目构建路径中包含了wsc-23.jarenterprise.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)          在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.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)          at com.sun.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)          at [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)

任何建议都会有很大帮助。

1 个答案:

答案 0 :(得分:0)

在进一步调试和分析weblogic日志后,它被识别为SSL相关问题。在Weblogic服务器中将“BEA Hostname Verifier”属性设置为false时,问题得以解决。

以下是有关SSL故障排除和在weblogic中设置主机名验证程序属性的更多信息的链接。

https://blogs.oracle.com/weblogicserver/ssl-troubleshooting-and-debugging

http://docs.oracle.com/cd/E72987_01/wls/WLACH/taskhelp/security/VerifyHostNameVerification.html