Не удается подключить BO-сервер (SAP REPORT).

Код Java.

String USER = "xxxxxxxxxx";
String PASSWORD="yyyyyyy";
String SERVER="zzzzzz:6400";
ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
IEnterpriseSession enterpriseSession;
enterpriseSession = sessionMgr.logon(USER, PASSWORD ,SERVER, "secLDAP");

Мы получаем ошибку ниже

com.crystaldecisions.sdk.exception.SDKException$SecurityError: An internal error has occurred in the secLdap plugin.
cause:java.lang.NullPointerException
detail:An internal error has occurred in the secLdap plugin. null
    at com.crystaldecisions.sdk.plugin.authentication.ldap.internal.LDAPError.ThrowException(LDAPError.java:69)
    at com.crystaldecisions.sdk.plugin.authentication.ldap.internal.LDAPAuthentication.setClientParasSeq(LDAPAuthentication.java:119)
    at com.crystaldecisions.sdk.occa.security.internal.PlugInLoader.setParams(PlugInLoader.java:189)
    at com.crystaldecisions.sdk.occa.security.internal.LogonService.doLogon(LogonService.java:318)
    at com.crystaldecisions.sdk.occa.security.internal.LogonService.doUserLogon(LogonService.java:693)
    at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:295)
    at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:166)
    at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:425)
    at com.reporting.util.ReportManager.generateTokenBO(ReportManager.java:161)
    at com.reporting.util.ReportManager.main(ReportManager.java:144)
Caused by: java.lang.NullPointerException
    at com.crystaldecisions.celib.misc.StringPatternHelper.split(StringPatternHelper.java:43)
    at com.crystaldecisions.sdk.plugin.authentication.ldap.internal.LDAPHostInfoHelper.findHostElement(LDAPHostInfoHelper.java:132)
    at com.crystaldecisions.sdk.plugin.authentication.ldap.internal.LDAPHostInfoHelper.findBestMatch(LDAPHostInfoHelper.java:110)
    at com.crystaldecisions.sdk.plugin.authentication.ldap.internal.LDAPAuthentication.ExtractParameters(LDAPAuthentication.java:258)
    at com.crystaldecisions.sdk.plugin.authentication.ldap.internal.LDAPAuthentication.setClientParasSeq(LDAPAuthentication.java:113)
    ... 8 more

Любезно помогите решить эту проблему

0
Sivakumar M 13 Дек 2019 в 16:57
Третьим параметром входа в систему должна быть строка. SERVER:6400 не является строкой, этот код даже не компилируется. Пожалуйста, разместите настоящий код.
 – 
StephaneM
13 Дек 2019 в 17:04
Код обновлен В соответствии с нашей политикой мы не можем сообщать сведения о сервере.
 – 
Sivakumar M
13 Дек 2019 в 17:08
Это очень общая ошибка, вы должны запустить трассировку, чтобы точно определить, где именно, в какой строке она вызывает эту ошибку, а затем скорректировать свой код в этой части.
 – 
mrdeadsven
16 Дек 2019 в 18:09
EnterpriseSession = sessionMgr.logon (ПОЛЬЗОВАТЕЛЬ, ПАРОЛЬ, СЕРВЕР, «secLDAP»); в этой строке мы получаем ошибку
 – 
Sivakumar M
17 Дек 2019 в 14:23

1 ответ

У меня даже была точная проблема при переходе с 3.x на 4.2. Есть некоторые изменения в файлах Dependent Jar BI4.X.

Решение, которое сработало для меня, заключается в том, что я заменил свои старые банки BI на новые и добавил еще несколько jcmFIPS.jar, Tracelog.jar, jcm.jar.

Этот набор файлов jar можно найти в папке «C: \ Program Files (x86) \ SAP Business Objects \ SAP BusinessObjects Enterprise XI 4.0 \ java \ lib».

Я добавил необходимые файлы jar, найдя недостающие классы из ошибки моего сервера.

Для получения дополнительных сведений -> nofollow.com/ sap.com/viewer/0225aa3e7b4b4b17b2d4a882e6f2de96/4.2.4/en-US/45f4d9ba6e041014910aba7db0e91070.html

0
Dhanush s 31 Авг 2021 в 16:37