This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 85587 - Unable to use JSF AJAX component libs
Summary: Unable to use JSF AJAX component libs
Status: RESOLVED INVALID
Alias: None
Product: javaee
Classification: Unclassified
Component: JSF (show other bugs)
Version: 5.x
Hardware: All Windows XP
: P1 blocker (vote)
Assignee: Petr Pisl
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-22 19:35 UTC by jfurmankiewicz
Modified: 2006-09-25 14:29 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jfurmankiewicz 2006-09-22 19:35:34 UTC
I've had one problem after another trying to use the new JSF Ajax libraries, e.g.
Ajax4JSF:
http://ajax4jsf.dev.java.net
or, coming from Sun itself, JSF Extensions:
http://jsf-extensions.dev.java.net

For example, I create a new library "JSF_Extensions" and add the 2 JSF
Extensions jars to it
(jsf-extensions-common-0.1-SNAPSHOT-jar,jsf-extensions-dynafaces-0.1-SNAPSHOT-jar)

I add the library to the project. Do 'Clean And Build Project', 'Run'

The 'Run' fails, just by adding these two jars to the classpath of the project.
I am guessing its because JSF components are supposed to have a faces-config.xml
in the META folder of the JAR and I think NB is picking that one up thinking it
is the faces-config.xml of the project (just a guess).

See the Tomcat error log:

22-Sep-2006 2:34:26 PM org.apache.catalina.core.StandardContext stop
INFO: Container
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/JSFTR2] has not
been started
22-Sep-2006 2:34:26 PM org.apache.catalina.startup.HostConfig checkResources
INFO: Undeploying context [/JSFTR2]
22-Sep-2006 2:34:27 PM org.apache.commons.digester.Digester error
SEVERE: Parse Error at line 27 column 19: Document root element "faces-config",
must match DOCTYPE root "null".
org.xml.sax.SAXParseException: Document root element "faces-config", must match
DOCTYPE root "null".
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
        at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(XMLDTDValidator.java:1621)
        at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1900)
        at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:764)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1357)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1289)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3084)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:912)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
        at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at org.apache.commons.digester.Digester.parse(Digester.java:1548)
        at com.sun.faces.config.ConfigureListener.parse(ConfigureListener.java:1188)
        at
com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:301)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
        at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1204)
        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 org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1377)
        at
org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:814)
        at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:343)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:174)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:619)
22-Sep-2006 2:34:27 PM org.apache.commons.digester.Digester error
SEVERE: Parse Error at line 27 column 19: Document is invalid: no grammar found.
org.xml.sax.SAXParseException: Document is invalid: no grammar found.
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
        at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
        at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1910)
        at
com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:764)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1357)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1289)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3084)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:912)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:645)
        at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:508)
        at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
        at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
        at
com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at
com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at org.apache.commons.digester.Digester.parse(Digester.java:1548)
        at com.sun.faces.config.ConfigureListener.parse(ConfigureListener.java:1188)
        at
com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:301)
        at
org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3729)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4187)
        at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
        at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:608)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:493)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1204)
        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 org.apache.commons.modeler.BaseModelMBean.invoke(BaseModelMBean.java:503)
        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at
org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1377)
        at
org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:814)
        at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:343)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:174)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:619)
22-Sep-2006 2:34:28 PM com.sun.faces.config.rules.ComponentRule end
WARNING: [ComponentRule]{faces-config/component} Merge(javax.faces.ViewRoot)
22-Sep-2006 2:34:28 PM com.sun.faces.config.rules.ComponentRule end
WARNING: [ComponentRule]{faces-config/component} Merge(javax.faces.ViewRoot)
22-Sep-2006 2:34:28 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
22-Sep-2006 2:34:28 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [/JSFTR2] startup failed due to previous errors

if I remove the Library from the project classpath, do Clean / Build and RUn it
works again. Same issue with Ajax4JSF.
Comment 1 jfurmankiewicz 2006-09-22 19:36:58 UTC
Just to be clear, by "Run fails", I meant that when I try to access the app via
the browset I get the dreaded:

HTTP Status 404 - /JSFTR2/

type Status report

message /JSFTR2/

description The requested resource (/JSFTR2/) is not available.

The actual 'Run' task in NB actually completes, it's just the app does not run
after it.
Comment 2 Petr Pisl 2006-09-25 12:49:47 UTC
Hi,

I don't know dynafaces, but from the attached exception it looks, like the
parser in the tomcat is not able to parse a faces-config.xml. So this is not bug
in NetBeans. Are you sure, that dynafaces can run inside a servlet container
2.4? When I look at sample blank-jsp, there is a faces-config.xml in the 
WEB-INF folder.

Which jdk did you used?

From my point of view, it doesn't look like bug in NetBeans. You added a library
to a web project, invoked the Run action, which means, that NetBeans build the
application and deploy the application to the target server. Which was OK. I
tried to run blank-jsp sample application from dynfaces and this application is
not running on the tomcat as well, but the reason is different.

I'm marking this issue as invalid, but I'm open to discussion.
Comment 3 jfurmankiewicz 2006-09-25 13:08:44 UTC
Well, you see, this is where it gets tricky. I've filed a defect with Ajax4JSF:
https://ajax4jsf.dev.java.net/issues/show_bug.cgi?id=16

They told me their library is fine, the issue must be with the tool (i.e. NetBeans).

So, as a user, I am running around trying to figure out where the issue is. What
points me to NB is that I have the same problem with *multiple* JSF component
libraries from different project, which all seem to fail with the same type of
runtime error.

Also, note that in order to get this error all I had to do is just add the
library to my project, I didn't actually reference it in any page.

So, in a nutshell I am stuck between the library writers telling me it's a tools
issue and Netbeans telling me its a library issue...and no clue as to where the
real issue is. And I'd really like to test out these new Ajax libraries within
Netbeans. 

Maybe there is something unusual with the way NB deploys the project to Tomcat?

Comment 4 Petr Pisl 2006-09-25 14:05:32 UTC
I'm not saying that this is library issue. What I'm saying is that your
application doesn't run, because Tomcat is not able to parse the
faces-config.xml. In the exception there is mentioned only the NetBeans http
monitor (you can try to disable it).

Did you try the sample from dynafaces on glassfish?
Comment 5 jfurmankiewicz 2006-09-25 14:10:28 UTC
Let me try with Glassfish and I will let you know.
Comment 6 jfurmankiewicz 2006-09-25 14:20:34 UTC
Hm, it worked with Glassfish. I guess it's fine to close the defect, I will try
to ask around on the Dynafaces and Ajax4JSF forums to see if this is a known
Tomcat issue.

Defect is fine to be closed, I apologize for my mistake.
Comment 7 Petr Pisl 2006-09-25 14:29:44 UTC
Thanks