Code: Select all
public boolean changePassword(String user, String oldPw, String newPw, String cmsName, String authType)
{
boolean success = false;
try
{
System.out.println("BEFORE");
ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
System.out.println("AFTER");
// commented out
// IEnterpriseSession session = sessionMgr.logon(user, oldPw, cmsName, authType);
// session.getUserInfo().setPassword(oldPw, newPw);
}
catch(Exception e)
{
System.out.println("EXCEPTION");
LOG.error("Error changing password for BO-CMS and user '" + user + "'", e);
}
return success;
}
Ich bemerkte jedoch, dass nach dem Aufruf von CrystalEnterprise.getSessionMgr() jedes System .out (und auch jeder log4j-Logger) erzeugt keine Ausgabe mehr.
Der obige Code gibt nur „BEFORE“ und kein „AFTER“ oder „EXCEPTION“ aus
Aber mein Debugger beweist das System.out.println("AFTER") wird aufgerufen.
Übrigens: Der Aufruf dieses Codeabschnitts direkt aus einer Java-Hauptmethode heraus funktioniert wie erwartet.
Ich erhalte eine „VOR“- und „NACHHER“-Ausgabe.
Weiß jemand, was hier passiert?