我必须通过我的Java应用程序连接到salesforce,并遵循salesforce.com简介提供的步骤。在这个过程中,我遇到了一些问题,任何帮助都会对我有很大的帮助。
wsc.jar。当编译器版本为1.6时,该项目在myeclipse中导入时会出现编译错误。如果我将编译器版本更改为1.7,则没有错误。wsc-20.jar,并从salesforce开发人员提供给我的WSDL中生成enterprise.jar。我在我的项目构建路径中包括了wsc-23.jar和enterprise.jar,并实现了salesforce提供的代码(下面提供的链接)。当我运行代码时,会遇到如下所示的运行时异常,并且请求未能发送到test.salesforce.com。下面提供了异常和错误日志。经过一定的研究后,我发现当Java版本切换到1.7时,API库和Java代码运行得非常好。但不知怎么的,这在1.6环境中行不通,我得到了下面的错误,我无法将我的项目的Java版本升级到1.7。
运行时异常:
com.sforce.ws.transport.SoapConnection.send(SoapConnection.java:129):向com.sforce.soap.enterprise.EnterpriseConnection.login(EnterpriseConnection.java:1) at com.sforce.soap.enterprise.EnterpriseConnection.(EnterpriseConnection.java:1) at com.nsf.ecap.web.business.proposal.SalesforceLoginTest.main(SalesforceLoginTest.java:27)处的https://test.salesforce.com/services/Soap/c/36.0/发送请求失败,原因是: javax。sun.security.provider.certpath.SunCertPathBuilderException::PKIX路径构建失败: com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)无法在com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1611) at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:187找到被请求的目标的有效证书路径) com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:181) at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1035) at 1com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:124) at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:516) at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:454)
任何建议都会很有帮助。
发布于 2017-10-17 15:53:40
在进一步调试和分析weblogic日志时,发现它是一个与SSL相关的问题。当“BEA Hostname Verifier”属性在Weblogic服务器中设置为false时,该问题已得到解决。
下面是有关weblogic中SSL故障排除和主机名验证器属性设置的更多信息的链接。
https://blogs.oracle.com/weblogicserver/ssl-troubleshooting-and-debugging
01/wls/WLACH/taskhelp/security/VerifyHostNameVerification.html
https://stackoverflow.com/questions/35944790
复制相似问题