我面临相关问题。我已经在 Weblogic 上安装了 WebCenter Sites。我的环境是
RHL 5 甲骨文 11gr1
在我们的托管服务器上部署“cs”期间,出现 log4j 错误。我必须编辑 weblogic.xml 并添加以下内容
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
部署“cas”时发生相同的 log4j 错误,必须将上述内容添加到 cas weblogic.xml
然后是找不到 cas.properties 文件的错误。
该文件位于 /home/oracle/oracle/webcenter/sites/bin 以及其他三个文件
host.properties jbossTicketCacheReplicationConfig.xml 和 libsigar-amd64-linux.so
一旦我将它们复制到 /cas/WEB-INF/classes 中,我就能够毫无错误地部署 cas,并且 Webcenter Sites 安装成功。
我可以成功访问登录页面
[http://192.168.14.125:16400/cas/login?service=http%3A%2F%2F192.168.14.125%3A16400%2Fcs%2Fwem%2Ffatwire%2Fwem%2FWelcome]
一旦我尝试使用 fwadmin 登录,它就会进入重定向循环。
应用服务器消息
INFO: Reloading registered services.
Oct 9, 2012 2:36:22 PM org.jasig.cas.services.DefaultServicesManagerImpl load
INFO: Loaded 0 services.
Oct 9, 2012 2:38:43 PM org.jasig.cas.CentralAuthenticationServiceImpl grantServiceTicket
INFO: Granted service ticket [ST-11-ItqcwCaffbrXydPeBtMB-cas-192.168.14.125-1] for service [http://192.168.14.125:16400/cs/wem/fatwire/wem/Welcome] for user [fwadmin]
I have following in my sites.log file
2012-10-09 14:38:43,414] [ERROR] [.kernel.Default (self-tuning)'] [sso.cas.filter.CASFilter] Ticket ST-10-EpWYIR3xPPgVLtk2HmZf-cas-192.168.14.125-1 is already validated or CAS is not avalilable. Request [http://192.168.14.125:16400/cs/wem/fatwire/wem/Welcome] from 192.168.14.144
java.lang.RuntimeException: Unable to create XMLReader
at org.jasig.cas.client.util.XmlUtils.getXmlReader(XmlUtils.java:44)
at org.jasig.cas.client.util.XmlUtils.getTextForElement(XmlUtils.java:116)
at org.jasig.cas.client.validation.Cas20ServiceTicketValidator.parseResponseFromServer(Cas20ServiceTicketValidator.java:69)
at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:188)
at com.fatwire.wem.sso.cas.CASProvider.validate(CASProvider.java:306)
at com.fatwire.wem.sso.cas.filter.CASFilter.doFilter(CASFilter.java:425)
at com.fatwire.wem.sso.SSOFilter.doFilter(SSOFilter.java:51)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:57)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
Caused by: java.lang.ClassCastException: org.apache.xerces.jaxp.SAXParserFactoryImpl
at org.xml.sax.helpers.XMLReaderFactory.loadClass(Unknown Source)
at org.xml.sax.helpers.XMLReaderFactory.createXMLReader(Unknown Source)
at org.jasig.cas.client.util.XmlUtils.getXmlReader(XmlUtils.java:42)
... 16 more
我用这篇文章中提到的条目编辑了 setDomainEvn.sh
if [ "${PRE_CLASSPATH}" != "" ] ; then
PRE_CLASSPATH="/export/home/bea/domains/cas/WEB-INF/lib/commons-lang-2.4.jar;/export/home/bea/domains/cas/WEB-INF/lib/quartz-1.5.2.jar;/export/home/bea/domains/cas/WEB-INF/lib/jstl-api-1.2.jar;/home/oracle/oracle/webcenter/sites/MSXML.jar${COMMON_COMPONENTS_HOME}/modules/oracle.jdbc_11.1.1/ojdbc6dms.jar${CLASSPATHSEP}${PRE_CLASSPATH}"
export PRE_CLASSPATH
else
PRE_CLASSPATH="/export/home/bea/domains/cas/WEB-INF/lib/commons-lang-2.4.jar;/export/home/bea/domains/cas/WEB-INF/lib/quartz-1.5.2.jar;/export/home/bea/domains/cas/WEB-INF/lib/jstl-api-1.2.jar;/home/oracle/oracle/webcenter/sites/MSXML.jar${COMMON_COMPONENTS_HOME}/modules/oracle.jdbc_11.1.1/ojdbc6dms.jar"
export PRE_CLASSPATH
fi
即使在那之后我也遇到了同样的错误。
观察者很有趣,我已经安装了带有 oracle 数据库选项的 Webcenter 站点,但是在我的 cas.properties 文件中,我有以下条目
#database.hibernate.dialect=org.hibernate.dialect.OracleDialect
#database.hibernate.dialect=org.hibernate.dialect.MySQLDialect
database.hibernate.dialect=org.hibernate.dialect.HSQLDialect
任何想法这里发生了什么?
BR AAN