Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1062155

Summary: Missing javax.servlet.api dependency in org.jasig.cas.client module
Product: [JBoss] JBoss Enterprise Portal Platform 6 Reporter: Anurag <adebnath>
Component: PortalAssignee: mposolda
Status: CLOSED UPSTREAM QA Contact: Tomas Kyjovsky <tkyjovsk>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1.0CC: epp-bugs, laszlo.van.den.hoek, mposolda, nobody, ppalaga
Target Milestone: ER02   
Target Release: 6.2.0   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously, when trying to use the cas-client-core-3.2.1.jar of /modules/system/layers/gatein/org/jasig/cas/client/main/ in an application by defining a dependency in the jboss-deployement-structure.xml file, a java.lang.ClassNotFoundException exception was thrown for the missing javax.servlet.http.HttpSessionListener dependency. This prevented the "org.jasig.cas.client" module from being used in a customer web application. The fix adds the missing dependency of Servlet API (javax.servlet.api module) to /modules/system/layers/gatein/org/jasig/cas/client/main/ which fixes the originally reported issue.
Story Points: ---
Clone Of: Environment:
- JBoss Portal Platform - 6.1
Last Closed: 2025-02-10 03:35:03 UTC Type: Enhancement
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Anurag 2014-02-06 10:51:19 UTC
Description of problem:

When trying to use the cas-client-core-3.2.1.jar of /modules/system/layers/gatein/org/jasig/cas/client/main/ in an application by defining dependency in the jboss-deployement-structure.xml file, a java.lang.ClassNotFoundException exception is thrown for the missing dependency of javax.servlet.http.HttpSessionListener in the cas-client-core-3.2.1.jar

Directly having the client jar in the application's /WEB-INF/lib/ works fine since the web-subsystem wraps the javax.sevlet.api.


Version-Release number of selected component (if applicable):

- JBoss Portal Platform (6.1)
- cas-client-core-3.2.1.jar


Actual results:

========================================
10:48:12,740 WARN  [org.jboss.modules] (MSC service thread 1-8) Failed to define class org.jasig.cas.client.session.SingleSignOutHttpSessionListener in Module "org.jasig.cas.client:main" from local module loader @1e845c2 (finder: local module finder @3c0007 (roots: C:\Java\jboss-jpp-6.1.0\modules,C:\Java\jboss-jpp-6.1.0\modules\system\layers\gatein,C:\Java\jboss-jpp-6.1.0\modules\system\layers\base)): java.lang.LinkageError: Failed to link org/jasig/cas/client/session/SingleSignOutHttpSessionListener (Module "org.jasig.cas.client:main" from local module loader @1e845c2 (finder: local module finder @3c0007 (roots: C:\Java\jboss-jpp-6.1.0\modules,C:\Java\jboss-jpp-6.1.0\modules\system\layers\gatein,C:\Java\jboss-jpp-6.1.0\modules\system\layers\base)))
...
...
Caused by: java.lang.NoClassDefFoundError: javax/servlet/http/HttpSessionListener
	at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_45]
...
...
Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpSessionListener from [Module "org.jasig.cas.client:main" from local module loader @1e845c2 (finder: local module finder @3c0007 (roots: C:\Java\jboss-jpp-6.1.0\modules,C:\Java\jboss-jpp-6.1.0\modules\system\layers\gatein,C:\Java\jboss-jpp-6.1.0\modules\system\layers\base))]
	at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) [jboss-modules.jar:1.2.2.Final-redhat-1]
========================================

Expected results:

It should be possible to re-use the  /modules/system/layers/gatein/org/jasig/cas/client/main/cas-client-core-3.2.1.jar  from the application using the jboss-deployment-structure.xml


Additional info:

As a workaround one has to include javax.servlet.api as a dependency in the module.xml of  /modules/system/layers/gatein/org/jasig/cas/client/main

OR

Create a custom module for cas-client-core-3.2.1.jar and then include javax.servlet.api as a dependency in its module.xml.

Comment 3 László van den Hoek 2014-02-06 15:48:25 UTC
It should be noted that using the newest cas-client-core (3.3.0) offers the added advantage of being able to use org.jasig.cas.client.jaas.Servlet3AuthenticationFilter (see https://issues.jasig.org/browse/CASC-174). This is necessary for authenticating with applications in a different security domain. In other words, reusing cas-client-core 3.2.1 doesn't make as much sense as would using 3.3.0 or higher.

Comment 5 Peter Palaga 2014-05-05 08:17:36 UTC
https://github.com/gatein/gatein-portal/pull/846 was merged in upstream.

Comment 6 Tomas Kyjovsky 2014-05-22 18:50:28 UTC
Reproduced with 6.1.0, fix verified with 6.2.0.ER2.

Comment 11 Red Hat Bugzilla 2025-02-10 03:35:03 UTC
This product has been discontinued or is no longer tracked in Red Hat Bugzilla.