You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Leonardo Uribe <lu...@gmail.com> on 2010/03/30 06:03:35 UTC

Re: ConnectionException validating XML using t: panelTabbedPane [SEC=UNCLASSIFIED]

Hi

javax.servlet api jar should provide this dtd (maybe your web container is
not providing this dtds). In this case tomahawk try to get it, but it "can't
see it". Try put this file under your webapp classpath:

javax/servlet/resources/web-app_2_3.dtd

That should work. The other alternative is override the EntityResolver used
by tomahawk to parse the document, to provide the file necessary to be
resolved.

regards,

Leonardo Uribe

2010/3/29 <Ro...@medicareaustralia.gov.au>

> Hi,
>
> I'm trying to use the Tomahawk panelTabbedPane tag on a project that
> already has some working tomahawk (tomahawk 1.1.9; jsf 1.1; java 1.6)
> tags.  It seems that the code for this tag is trying to validate the
> configuration in the web.xml file, and in doing so, is looking for the
> DTD, for some reason connecting to the URL in the dtd declaration to try
> and download it.  I'm behind a proxy (and I expect that my deployment
> environment will likewise be without accessible Internet) so this fails
> with a ConnectionFailedException.
>
> How can I either stop it looking for the DTD or provide one for it so that
> it doesn't do this check?
>
> Doctype declaration I've got in my web.xml:
> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
> 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
>
> Exception stacktrace:
>
> javax.servlet.ServletException: Filter [MyFacesExtensionsFilter]: filter
> is unavailable.
>        at
>
> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:231)
>        at
>
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
>        at
>
> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
>        at
>
> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:858)
>        at
>
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:863)
>        at
>
> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:474)
>        at
>
> com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
>        at
> com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3742)
>        at
> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
>        at
> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:932)
>        at
>
> com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
>        at
> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:175)
>        at
>
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
>        at
>
> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
>        at
>
> com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
>        at
>
> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
>        at
>
> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
>        at
>
> com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
>        at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
>        at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
>        at
>
> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
>        at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
>        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
> Caused by: java.net.ConnectException: Connection refused: connect
>        at java.net.PlainSocketImpl.socketConnect(Native Method)
>        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:352)
>        at
> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:214)
>        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:201)
>        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:377)
>        at java.net.Socket.connect(Socket.java:530)
>        at java.net.Socket.connect(Socket.java:480)
>        at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:406)
>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:541)
>        at sun.net.www.http.HttpClient.(HttpClient.java:245)
>        at sun.net.www.http.HttpClient.New(HttpClient.java:318)
>        at sun.net.www.http.HttpClient.New(HttpClient.java:335)
>        at
>
> sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:832)
>        at
>
> sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:773)
>        at
>
> sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:698)
>        at
>
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1021)
>        at
> org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
>        at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown
> Source)
>        at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown
> Source)
>        at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown
> Source)
>        at
>
> org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.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.DOMParser.parse(Unknown Source)
>        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
> Source)
>        at
>
> org.apache.myfaces.shared_tomahawk.webapp.webxml.WebXmlParser.parse(WebXmlParser.java:99)
>        at
>
> org.apache.myfaces.shared_tomahawk.webapp.webxml.WebXml.init(WebXml.java:236)
>        at
>
> org.apache.myfaces.shared_tomahawk.webapp.webxml.WebXml.getWebXml(WebXml.java:223)
>        at
>
> org.apache.myfaces.renderkit.html.util.AddResourceFactory.checkEnvironment(AddResourceFactory.java:355)
>        at
>
> org.apache.myfaces.renderkit.html.util.AddResourceFactory.getInstance(AddResourceFactory.java:279)
>        at
>
> org.apache.myfaces.custom.tabbedpane.HtmlTabbedPaneRenderer.encodeEnd(HtmlTabbedPaneRenderer.java:100)
>        at
>
> com.ibm.faces.renderkit.DefaultAjaxRenderer.encodeEnd(DefaultAjaxRenderer.java:83)
>        at
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:850)
>        at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:946)
>        at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
>        at
>
> com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:289)
>        at
>
> com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:220)
>        at
>
> com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
>        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
>        at
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
>        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
>        at
>
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1586)
>        at
>
> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1520)
>        at
>
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
>        at
>
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)
>        at
>
> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
>        ... 22 more
>
>
> Thanks,
>
> Rob
>
>
>
> Show your support for the Leukaemia Foundation and make a donation at any
> Medicare office or  online   =
>
> ______________________________________________________________________
>
> ********************************************************************************
> NOTICE - This message is intended only for the use of the addressee named
> above and may contain privileged and confidential information. If you are
> not the intended recipient of this message you are hereby notified that you
> must not disseminate, copy or take any action based upon it. If you received
> this message in error please notify Medicare Australia immediately. Any
> views expressed in this message are those of the individual sender, except
> where the sender specifically states them to be the views of Medicare
> Australia.
>
> Please consider the environment before printing this e-mail
>
> ***********************************************************************************
>

Re: ConnectionException validating XML using t: panelTabbedPane [SEC=UNCLASSIFIED]

Posted by Ro...@medicareaustralia.gov.au.
Thanks Leonardo.  I've managed to work out how to bypass it:

I set the org.apache.myfaces.CHECK_EXTENSIONS_FILTER value to false (I 
basically read the source code to find what I needed to do) to tell 
tomahawk to not validate the filter configuration. This neatly side-steps 
the issue.. although if you *do* want validation, it doensn't help much :)

Essentially I just added the following to my web.xml:

<context-param> 
  <param-name>org.apache.myfaces.CHECK_EXTENSIONS_FILTER</param-name>
  <param-value>false</param-value>
</context-param>

Cheers,

Rob




Leonardo Uribe <lu...@gmail.com> 
30/03/2010 03:03 PM
Please respond to
"MyFaces Discussion" <us...@myfaces.apache.org>


To
MyFaces Discussion <us...@myfaces.apache.org>
cc

Subject
Re: ConnectionException validating XML using t: panelTabbedPane 
[SEC=UNCLASSIFIED]






Hi

javax.servlet api jar should provide this dtd (maybe your web container is
not providing this dtds). In this case tomahawk try to get it, but it 
"can't
see it". Try put this file under your webapp classpath:

javax/servlet/resources/web-app_2_3.dtd

That should work. The other alternative is override the EntityResolver 
used
by tomahawk to parse the document, to provide the file necessary to be
resolved.

regards,

Leonardo Uribe

2010/3/29 <Ro...@medicareaustralia.gov.au>

> Hi,
>
> I'm trying to use the Tomahawk panelTabbedPane tag on a project that
> already has some working tomahawk (tomahawk 1.1.9; jsf 1.1; java 1.6)
> tags.  It seems that the code for this tag is trying to validate the
> configuration in the web.xml file, and in doing so, is looking for the
> DTD, for some reason connecting to the URL in the dtd declaration to try
> and download it.  I'm behind a proxy (and I expect that my deployment
> environment will likewise be without accessible Internet) so this fails
> with a ConnectionFailedException.
>
> How can I either stop it looking for the DTD or provide one for it so 
that
> it doesn't do this check?
>
> Doctype declaration I've got in my web.xml:
> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
> 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
>
> Exception stacktrace:
>
> javax.servlet.ServletException: Filter [MyFacesExtensionsFilter]: filter
> is unavailable.
>        at
>
> 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:231)
>        at
>
> 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
>        at
>
> 
com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
>        at
>
> 
com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:858)
>        at
>
> 
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:863)
>        at
>
> 
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:474)
>        at
>
> 
com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
>        at
> com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3742)
>        at
> com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
>        at
> 
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:932)
>        at
>
> 
com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
>        at
> 
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:175)
>        at
>
> 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
>        at
>
> 
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
>        at
>
> 
com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
>        at
>
> 
com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
>        at
>
> 
com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
>        at
>
> 
com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
>        at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
>        at 
com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
>        at
>
> 
com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
>        at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
>        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
> Caused by: java.net.ConnectException: Connection refused: connect
>        at java.net.PlainSocketImpl.socketConnect(Native Method)
>        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:352)
>        at
> java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:214)
>        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:201)
>        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:377)
>        at java.net.Socket.connect(Socket.java:530)
>        at java.net.Socket.connect(Socket.java:480)
>        at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:406)
>        at sun.net.www.http.HttpClient.openServer(HttpClient.java:541)
>        at sun.net.www.http.HttpClient.(HttpClient.java:245)
>        at sun.net.www.http.HttpClient.New(HttpClient.java:318)
>        at sun.net.www.http.HttpClient.New(HttpClient.java:335)
>        at
>
> 
sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:832)
>        at
>
> 
sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:773)
>        at
>
> 
sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:698)
>        at
>
> 
sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1021)
>        at
> org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown 
Source)
>        at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown
> Source)
>        at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown
> Source)
>        at 
org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown
> Source)
>        at
>
> 
org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.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.DOMParser.parse(Unknown Source)
>        at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
> Source)
>        at
>
> 
org.apache.myfaces.shared_tomahawk.webapp.webxml.WebXmlParser.parse(WebXmlParser.java:99)
>        at
>
> 
org.apache.myfaces.shared_tomahawk.webapp.webxml.WebXml.init(WebXml.java:236)
>        at
>
> 
org.apache.myfaces.shared_tomahawk.webapp.webxml.WebXml.getWebXml(WebXml.java:223)
>        at
>
> 
org.apache.myfaces.renderkit.html.util.AddResourceFactory.checkEnvironment(AddResourceFactory.java:355)
>        at
>
> 
org.apache.myfaces.renderkit.html.util.AddResourceFactory.getInstance(AddResourceFactory.java:279)
>        at
>
> 
org.apache.myfaces.custom.tabbedpane.HtmlTabbedPaneRenderer.encodeEnd(HtmlTabbedPaneRenderer.java:100)
>        at
>
> 
com.ibm.faces.renderkit.DefaultAjaxRenderer.encodeEnd(DefaultAjaxRenderer.java:83)
>        at
> 
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:850)
>        at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:946)
>        at
> javax.faces.component.UIComponent.encodeAll(UIComponent.java:942)
>        at
>
> 
com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:289)
>        at
>
> 
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:220)
>        at
>
> 
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
>        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
>        at
> com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
>        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
>        at
>
> 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1586)
>        at
>
> 
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1520)
>        at
>
> 
com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
>        at
>
> 
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:341)
>        at
>
> 
com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
>        ... 22 more
>
>
> Thanks,
>
> Rob
>
>
>
> Show your support for the Leukaemia Foundation and make a donation at 
any
> Medicare office or  online   =
>
> ______________________________________________________________________
>
> 
********************************************************************************
> NOTICE - This message is intended only for the use of the addressee 
named
> above and may contain privileged and confidential information. If you 
are
> not the intended recipient of this message you are hereby notified that 
you
> must not disseminate, copy or take any action based upon it. If you 
received
> this message in error please notify Medicare Australia immediately. Any
> views expressed in this message are those of the individual sender, 
except
> where the sender specifically states them to be the views of Medicare
> Australia.
>
> Please consider the environment before printing this e-mail
>
> 
***********************************************************************************
>


Show your support for the Leukaemia Foundation and make a donation at any Medicare office or  online   =

______________________________________________________________________
********************************************************************************
NOTICE - This message is intended only for the use of the addressee named above and may contain privileged and confidential information. If you are not the intended recipient of this message you are hereby notified that you must not disseminate, copy or take any action based upon it. If you received this message in error please notify Medicare Australia immediately. Any views expressed in this message are those of the individual sender, except where the sender specifically states them to be the views of Medicare Australia.

Please consider the environment before printing this e-mail
***********************************************************************************