Проблемы интеграции клиентского Java-приложения с Salesforce (wsc API)
Я должен был подключиться к salesforce через свое Java-приложение и следовал инструкциям, представленным salesforce.com. Я столкнулся с парой проблем в этом процессе, и любая помощь мне бы очень помогла.
Проблема 1: во- первых, я не могу построить
wsc.jar
после клонирования проекта из ГИТ. Проект выдает ошибку компиляции при импорте вmyeclipse
когда версия компилятора 1.6. Не было ошибок, если я изменил версию компилятора на 1.7.Проблема 2: вместо создания файла JAR, я скачал
wsc-20.jar
с онлайн-ресурса (ссылка предоставлена в комментариях ниже) и сгенерированаenterprise.jar
из WSDL, предоставленной мне разработчиком Salesforce. я включенwsc-23.jar
а такжеenterprise.jar
в моем проекте buildpath и реализовал код, предоставленный salesforce (ссылка предоставлена ниже). Когда я запускаю код, возникает исключение времени выполнения, как показано ниже, и запрос не был отправленtest.salesforce.com
, Журнал исключений и ошибок приведен ниже.
После определенного расследования я обнаружил, что библиотеки API и код Java работают отлично, когда версия Java JRE переключена на 1.7. Но почему-то это не работает в среде 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) на 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) в [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 ответ
После дальнейшей отладки и анализа журналов weblogic он был идентифицирован как проблема, связанная с SSL. Проблема была решена, когда для свойства 'BEA Hostname Verifier' установлено значение false на сервере Weblogic.
Ниже приведены ссылки для получения дополнительной информации об устранении неполадок SSL и настройке свойства верификатора имени хоста в weblogic.
https://blogs.oracle.com/weblogicserver/ssl-troubleshooting-and-debugging
http://docs.oracle.com/cd/E72987_01/wls/WLACH/taskhelp/security/VerifyHostNameVerification.html