Issues deploying application on websphere 7 - websphere-7

I am getting problems starting my application on Websphere 7.
The application has jsp, jspx files.
The application works fine on tomcat.
However when I try to start application on web sphere 7, I get following errors in the logs
[29/08/11 06:39:44:988 IST] 0000000b webapp E com.ibm.ws.webcontainer.webapp.WebAppinitializeExtensionProcessors SRVE0280E: Extension processor failed to initialize in factory
at com.ibm.ws.jsp.taglib.TldParser.endElement(TldParser.java:396)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLNSDTDValidator.endNamespaceScope(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at com.ibm.ws.jsp.translator.visitor.xml.ParserFactory.parseDocument(ParserFactory.java:102)
at com.ibm.ws.jsp.taglib.TldParser.parse(TldParser.java:315)
at com.ibm.ws.jsp.taglib.TldParser.parseTLD(TldParser.java:266)
at com.ibm.ws.jsp.taglib.TagLibraryCache.loadWebXmlMap(TagLibraryCache.java:163)
at com.ibm.ws.jsp.taglib.TagLibraryCache.<init>(TagLibraryCache.java:102)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionProcessor.<init>(AbstractJSPExtensionProcessor.java:203)
at com.ibm.ws.jsp.webcontainerext.ws.WASJSPExtensionProcessor.<init>(WASJSPExtensionProcessor.java:70)
at com.ibm.ws.jsp.webcontainerext.ws.WASJSPExtensionFactory.createProcessor(WASJSPExtensionFactory.java:250)
at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionFactory.createExtensionProcessor(AbstractJSPExtensionFactory.java:75)
at com.ibm.ws.webcontainer.webapp.WebApp.initializeExtensionProcessors(WebApp.java:1241)
at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:339)
at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:292)
at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:99)
at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:167)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:722)
at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:607)
at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:376)
at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:668)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1162)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1313)
at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:611)
at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:938)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:740)
at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2092)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:437)
at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:122)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:380)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300(CompositionUnitMgrImpl.java:105)
at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:928)
at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
[29/08/11 06:39:45:003 IST] 0000000b webapp W com.ibm.ws.webcontainer.webapp.WebApp initializeTargetMappings SRVE0269W: No Extension Processor found for handling JSPs
I checked the tld files in web.xml and they all exist.
Any idea what can be the problem ?

I recently encountered this exact same error and it turned out to be some invalid elements defined in the TLD XML. I compared the TLD I was given against the DTD it declared to be valid against and noticed some discrepancies. Also, WebSphere did not like that <info> had embedded HTML tags in it. Fixing those problems eliminated this exception.

Related

java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet with a WAR file

I am using WSO2 Application Server. When trying to deploy a WAR file build with JSF java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet is thrown on WSO2 AS. I have 3 questions;
Why this Exception is thrown?
Is it because Tomcat doesn't support Java EE and JSF.
If then, why can't we use TomEE.
For further details I'll paste the error log here.
[2014-08-29 02:06:27,153] ERROR {org.apache.catalina.core.StandardContext} - Servlet /EnterpriseApplication-war threw load() exception
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
at org.wso2.carbon.webapp.mgt.loader.CarbonWebappClassLoader.loadClass(CarbonWebappClassLoader.java:138)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:532)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:514)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:133)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1137)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.wso2.carbon.tomcat.internal.CarbonTomcat.addWebApp(CarbonTomcat.java:280)
at org.wso2.carbon.tomcat.internal.CarbonTomcat.addWebApp(CarbonTomcat.java:177)
at org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.handleWebappDeployment(TomcatGenericWebappsDeployer.java:222)
at org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.handleWarWebappDeployment(TomcatGenericWebappsDeployer.java:174)
at org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.handleHotDeployment(TomcatGenericWebappsDeployer.java:141)
at org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.deploy(TomcatGenericWebappsDeployer.java:116)
at org.wso2.carbon.webapp.mgt.AbstractWebappDeployer.deployThisWebApp(AbstractWebappDeployer.java:140)
at org.wso2.carbon.webapp.mgt.AbstractWebappDeployer.deploy(AbstractWebappDeployer.java:90)
at org.wso2.carbon.webapp.deployer.WebappDeployer.deploy(WebappDeployer.java:42)
at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:810)
at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
at org.apache.axis2.deployment.DeploymentEngine.loadServices(DeploymentEngine.java:139)
at org.wso2.carbon.core.CarbonAxisConfigurator.loadServices(CarbonAxisConfigurator.java:464)
at org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(ConfigurationContextFactory.java:95)
at org.wso2.carbon.core.CarbonConfigurationContextFactory.createNewConfigurationContext(CarbonConfigurationContextFactory.java:65)
at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:398)
at org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219)
at org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:74)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:347)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
at org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81)
at org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1267)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1186)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1081)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Since others can benefit from this answer, I will post my findings;
This exception is thrown because WSO2 AS is not bundled with JSF. JSF comes as an additional feature that can be installed from the online Carbon p2 repository.
Name: WSO2 Carbon - J2EE Runtime Environment
Identifier: org.wso2.carbon.as.runtimes.j2ee.feature
Refer this link for more details.
Already answered. Tomcat doesn't support it natively.
TomEE could have used. But not all web applications are using Java EE packages. WSO2 AS provides a way to enabling additional packages only for selected webapps through a webapp-classloading.xml.
For example if you put a webapp-classloading.xml file inside the META-INF folder, you will override the default settings and only the classloading environments defined in that XML file are exposed to the web application.

Getting " Portlet Portlet_WAR_portletID has a null portlet bag" in liferay 6.2

I created a liferay plugin portlet project and deployed in Liferay 6.2. When i try to deploy, i am getting " Portlet Portlet_WAR_portletID has a null portlet bag" error. I am not able to find the root as i could see i am referring correct plugin project.
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at com.liferay.portlet.PortletContextFactory._create(PortletContextFactory.java:84)
at com.liferay.portlet.PortletContextFactory.create(PortletContextFactory.java:40)
at com.liferay.portlet.PortletConfigFactoryImpl.create(PortletConfigFactoryImpl.java:56)
at com.liferay.portlet.PortletConfigFactoryUtil.create(PortletConfigFactoryUtil.java:32)
at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:606)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at com.liferay.portal.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:57)
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:78)
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53)
at com.liferay.portlet.PortletContainerImpl._doRender(PortletContainerImpl.java:655)
at com.liferay.portlet.PortletContainerImpl.render(PortletContainerImpl.java:138)
at com.liferay.portlet.SecurityPortletContainerWrapper.render(SecurityPortletContainerWrapper.java:141)
at com.liferay.portlet.RestrictPortletContainerWrapper.render(RestrictPortletContainerWrapper.java:126)
at com.liferay.portal.kernel.portlet.PortletContainerUtil.render(PortletContainerUtil.java:156)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer._render(PortletRenderer.java:120)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer.access$4(PortletRenderer.java:107)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:174)
at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:1)
at com.liferay.portal.kernel.executor.CopyThreadLocalCallable.call(CopyThreadLocalCallable.java:69)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:682)
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:593)
at java.lang.Thread.run(Unknown Source)
Redeploy your portlet again. I faced same issue. I stop server and then clean my portlet then I started my server. When I checked in browser then I got internal server and in console "
portlet contains a null bag". I deployed again and the it is coming perfectly.
The most common solution for this problem is that just undeploy the portlet from the tomcat and redeploy it.

PicketLink - NoClassDefFound: org/picketlink/idm/config/StoreConfiguration

I'm beginning to migrate my Seam 2.3 app over to JavaEE 6, and as part of that will be using PicketLink 2.5.0 and PicketBox 5.0 for security, particularly the IDM component. I'm trying to make use of the JPA Identity Store, and have created my own entities with the appropriate annotations. However, when I attempt to add a user, I get the following exception:
java.lang.NoClassDefFoundError: org/picketlink/idm/config/StoreConfiguration
I've looked in the JAR files, and sure enough I don't see this object. I'm using PicketBox 5.0. Is this a known issue with this combination of PicketLink and PicketBox? Is there something I'm doing wrong? Is this object located in a different JAR? The code to create my user looks like this:
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.identityManager().jpaStore();
PicketBoxConfiguration config = builder.build();
DefaultPicketBoxManager picketBoxManager = new DefaultPicketBoxManager(
config);
picketBoxManager.start();
EntityManagerPropagationContext.set(this.entityManager);
IdentityManager idm = picketBoxManager.getIdentityManager();
SimpleUser user = new SimpleUser("testuser");
idm.add(user);
System.out.println("User added");
UPDATE: A bit more info on my setup...
I have downloaded PicketLink 2.5.0beta6 and PicketBox 5.0.0. All the relevant JARs are maintained within my EAR file, which is deployed on JBoss EAP 6.1. When I run my code, I see the following Exception thrown:
java.lang.NoClassDefFoundError: org/picketlink/idm/config/StoreConfiguration
org.picketbox.core.AbstractPicketBoxManager.doStart(AbstractPicketBoxManager.java:244)
org.picketbox.core.AbstractPicketBoxLifeCycle.start(AbstractPicketBoxLifeCycle.java:53)
net.test.services.TestEJB.doTest(TestEJB.java:42)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72)
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:58)
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374)
org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:129)
org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:137)
org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:58)
org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288)
...
JBWEB000071: root cause
java.lang.ClassNotFoundException: org.picketlink.idm.config.StoreConfiguration from [Module "deployment.TestApp-ear.ear:main" from Service Module Loader]
org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196)
org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:444)
org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:432)
org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:374)
org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:119)
org.picketbox.core.AbstractPicketBoxManager.doStart(AbstractPicketBoxManager.java:244)
org.picketbox.core.AbstractPicketBoxLifeCycle.start(AbstractPicketBoxLifeCycle.java:53)
net.test.services.TestEJB.doTest(TestEJB.java:42)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
I was able to locate documentation on the JBoss site that explained how to upgrade the PicketLink libraries within JBoss EAP 6.1. That solved everything.

The requested resource cannot be located for Preview in Notes Client

If I I have a blank xPage. It works fine when Previewing with the browser but when I try to preview in the client, I am getting The requested resource cannot be located.
This occurs with any xPage.
Any ideas what is wrong?
Here is the error I am getting in the log. It really does not tell me more than what the browser is telling me.
CLFAD0256E: Dispatcher Servlet Problem - Cannot find the module: pncpghd38.pncbank.com!!test/test2.nsf
com.ibm.designer.runtime.domino.adapter.util.PageNotFoundException: Cannot find the module: pncpghd38.pncbank.com!!test/test2.nsf
at com.ibm.domino.xsp.module.nsf.NSFService.doService(Unknown Source)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(Unknown Source)
at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(Unknown Source)
at com.ibm.domino.xsp.bridge.websrv.servlets.DispatcherServlet.service(Unknown Source)
at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(Unknown Source)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(Unknown Source)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(Unknown Source)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(Unknown Source)
at javax.servlet.http.HttpServlet.service(Unknown Source)
at com.ibm.pvc.webhttpservice.BridgeServlet.service(Unknown Source)
at com.ibm.pvc.internal.webcontainer.VirtualHost.handleRequest(Unknown Source)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(Unknown Source)
at com.ibm.wsspi.webcontainer.WebContainer.handleRequest(Unknown Source)
at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(Unknown Source)
at com.ibm.ws.http.HttpConnection.readAndHandleRequest(Unknown Source)
at com.ibm.ws.http.HttpConnection.run(Unknown Source)
at com.ibm.ws.util.ThreadPool$Worker.run(Unknown Source)
Installation path (data inside program files), access rights, install failed. There are 1000 reasons. What does the logs say?

Why is Tomcat manager using my LoginModule?

I'm running Tomcat 6.0.29 and created a realm and loginmodule of my own. They are defined in server.xml like so:
<Realm className="mycompany.tomcat.MyRepositoryRealm"
appName="My_Realm"
userClassNames="mycompany.tomcat.IdentityPrincipal"
roleClassNames="mycompany.tomcat.RolePrincipal"
useContextClassLoader="true"/>
I have added the library containing these classes to my tomcat/lib folder. Other than that, I have not changed Tomcat from it's default configuration.
When I go to fire up the Tomcat manager application at http://localhost:9080/manager/html, I can't log in and the tomcat log shows an error and stacktrace for my login module.
Any ideas? Thanks!
Edit:
Per request, here is the stacktrace. My realm connects to a JBoss service, so that's why I get the NamingContextFactory error.
javax.security.auth.login.LoginException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory
at mycompany.tomcat.MyRepositoryLoginModule.login(MyRepositoryLoginModule.java:88)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:410)
at org.apache.catalina.realm.JAASRealm.authenticate(JAASRealm.java:335)
at mycompany.tomcat.MyRepositoryRealm.authenticate(MyRepositoryRealm.java:34)
at org.apache.catalina.authenticator.BasicAuthenticator.authenticate(BasicAuthenticator.java:181)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:528)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
I was able to figure out the problem.
Security realms can be defined for an engine, host, or context. I had defined the realm for the whole host (in server.xml), so the tomcat manager application was trying to use it. I fixed the problem by defining the realm in a META-INF/context.xml file inside of my web application.

Resources