Friday, June 04, 2010

BI Publisher: com/phaos/crypto/CipherException

Hi Friends,

My first brush with BI Publisher... As always being the case, no Enterprise standard software easily setups as said in its documentation! Thats why the need to expert Consultants to deploy & maintain the same ;-)

Following was the brief error after i tried logging in from my BI Publisher login screen:

The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: com/phaos/crypto/CipherException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:476)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:371)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:100)

root cause

javax.servlet.ServletException: com/phaos/crypto/CipherException
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:846)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:779)
org.apache.jsp.login_jsp._jspService(login_jsp.java:499)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:100)

root cause

java.lang.NoClassDefFoundError: com/phaos/crypto/CipherException
oracle.apps.xdo.servlet.security.SecurityHandler.getHandler(SecurityHandler.java:66)
org.apache.jsp.login_jsp._jspService(login_jsp.java:190)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
oracle.apps.xdo.servlet.security.SecurityFilter.doFilter(SecurityFilter.java:100)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.27 logs
.

Ahh....i was like what the heck!

Before i proceed again, i would like to quickly give you my BI Publisher Setup Info:
J2EE Server: Apache Tomcat 5.5.27
BI Publisher: 10.1.3.4.1
Standalone/Integrated: This was installed as part of OBIEE 10.1.3.4.1 Setup & not deployed as standalone.

Now, above error clearly points to some issue with the Authentication stuff we just passed in the login screen of BI Publisher. It is actually missing few important jars & libraries which are causing the issue.

Why did this happen?
Well, as you all know, OBIEE Installation in Basic form comes with OC4J while Advanced format requires Oracle Application Server. If you dont want either of this, you need to setup your own J2EE Server & deploy these applications from the given WAR files.

Now, the packaging of WAR files in case of BI Publisher has been different for OC4J & any generic J2EE server. You are bound to deploy the normal OC4J WAR file on Tomcat & then face this error.
The OC4J specific WAR files has few libraries missing as these are already available with base OC4J setup.

Solution?
Now, if you want to recover from this problem, you will first need to undeploy the earlier WAR file deployed on Tomcat.
Once you undeploy, restart your Tomcat and then deploy the WAR (xmlpserver.war) from "generic" folder.
Exact Location for the "generic" folder:
%OBIEE_SETUP_ROOT%/Platform/Solaris/Server_Ancillary/Oracle_Business_Intelligence_Publisher/generic
Platform stands for Solaris/Linux/Windows etc
Deploy the xmlpserver.war from this generic folder on your Tomcat.

Restart Tomcat & they open your BI Publisher:
http://host:port/xmlpserver/

Try logging in using your RPD Administrator user & password since BI Publisher coming with OBIEE uses OBIEE Security Model & not that of standalone BI Publisher.

If you face any of below errors post attempting to login in BI Publisher then stay tuned!! I will be documenting the solutions soon :-)


oracle.apps.xdo.servlet.resources.ResourceNotFoundException   
OR
oracle.apps.xdo.security.ValidateException

Till then happy debugging...

Keywords:

BI Publisher, OBIEE, xmlpserver.war, RPD, CipherException, 10.1.3.4.1, XML Publisher, Tomcat etc

1 comment:

Anonymous said...

Do you have a solution to the ResourceNotFoundException?