Skip to Content
0

Is Crystal Server/Report 2016 compatible with WildFly 11 ? or JBoss EAP 7.0 ?

Feb 05 at 01:10 PM

72

avatar image
Former Member

Hi,

I manage to make the small sample CR app deployed onto Tomcat AS 9 but it's not deploying on Wildfly 11 or EAP 7.0 (exact same .war file).

I believe it has the problem with the classloading, especially org.apache.cxf, while Crystal Report has the embedded com/crystaldecisions/thirdparty/com/ooc/OB/ packages in eBus405.jar which conflicts with apache implementation of cxf.

Do you know if Wildfly/JBoss EAP 7.0 is supported ?

Thanks,

D.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

4 Answers

Denis Konovalov
Feb 05 at 06:07 PM
0

There are 2 things to consider here - The CR server and BI Platform standard webapps are supported on Tomcat and Jboss and not supported on Wildfly (whatever that might be).
However, your custom webapp should be supportable on whatever webapp server you choose to support it. You wrote it.

Show 2 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Is there a working example of CR2016 with JBoss EAP 7.0 ?

Basically I need to connect to the CM, get the CE session, then load the report by report names, authenticate to BO database, pass the query parameters, then view the managed reports in the viewer.

Something like this,

ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();

// fails at

sessionMgr.logon enterpriseSession = sessionMgr.logon("ceadmin", "password", "ceserver:6400", "secEnterprise");

IInfoStore iStore = (IInfoStore) enterpriseSession.getService("InfoStore");

IInfoObjects reports = iStore.query("Select SI_ID, SI_NAME From CI_INFOOBJECTS Where SI_NAME = 'sample' And SI_INSTANCE = 0");

IInfoObject report = (IInfoObject)reports.get(0);

IReportAppFactory reportAppFactory = (IReportAppFactory) enterpriseSession.getService("RASReportFactory"); ReportClientDocument rcd = reportAppFactory.openDocument(report, OpenReportOptions._openAsReadOnly, java.util.Locale.US);

With JBoss EAP 7.0 that line sessionMgr.logon fails.

0
Former Member
Former Member

Just to add a note, same code above works perfectly with Tomcat AS 9 and Standalone java app.

Just on JBoss EAP 7.0 is not working.

0
avatar image
Former Member Feb 05 at 01:19 PM
0
Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Feb 07 at 04:40 PM
0

Missed the javax.api in the dependencies module, with help from JBoss forum.

<?xml version="1.0" encoding="UTF-8"?>

<module xmlns="urn:jboss:module:1.3" name="bo.crystalreport">

<resources>

<resource-root path="aspectjrt.jar"/>

...

</resources>

<dependencies>

<module name="org.omg.api"/>

<module name="javax.api"/>

<module name="javax.faces.api"/>

</dependencies>

</module>

Share
10 |10000 characters needed characters left characters exceeded
avatar image
Former Member Feb 06 at 01:09 PM
0

UPDATE : Included all the /jar files from $CR2016_HOME/java/lib and copied over to JBoss EAP 7.0/7.1 modules and add that dependencies in my app,

still getting an error. We are currently looking at the another product to replace Crystal Report 2016.

Stack Trace:

java.lang.NoClassDefFoundError: org/ietf/jgss/GSSException
	at com.crystaldecisions.sdk.occa.security.internal.LogonService.userLogon(LogonService.java:211)
	at com.crystaldecisions.sdk.occa.security.internal.SecurityMgr.userLogon(SecurityMgr.java:166)
	at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody0(SessionMgr.java:457)
	at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon_aroundBody1$advice(SessionMgr.java:521)
	at com.crystaldecisions.sdk.framework.internal.SessionMgr.logon(SessionMgr.java:1)
	at com.sanofi.TestServlet.doGet(TestServlet.java:75)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
	at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
	at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
	at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
	at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
	at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
	at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
	at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
	at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
	at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
	at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
	at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:138)
	at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
	at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
	at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
	at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1508)
	at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)
	at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81)
	at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:104)
	at io.undertow.server.Connectors.executeRootHandler(Connectors.java:326)
	at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:812)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: org.ietf.jgss.GSSException from [Module "bo.crystalreportAll" from local module loader @7006c658 (finder: local module finder @34033bd0 (roots: C:\Programs\jboss-eap-7.1\modules,C:\Programs\jboss-eap-7.1\modules\system\layers\base))]
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:412)
	at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:400)
	at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:116)
	... 47 more
Share
10 |10000 characters needed characters left characters exceeded