我必须通过我的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.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) 在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)
任何建议都会有很大帮助。
答案 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