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 <[email protected]> 30/03/2010 03:03 PM Please respond to "MyFaces Discussion" <[email protected]> To MyFaces Discussion <[email protected]> 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 <[email protected]> > 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 ***********************************************************************************

