As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
(…) [#|2007-03-13T23:11:34.858+0100|INFO|sun-appserver-pe9.0|javax.enterprise.resource.webcontainer.jsf.config|_ThreadID=10;_ThreadName=main;;|Completed initializing Sun's JavaServer Faces implementation (1.2_02-b03-FCS) for context ''|#] [#|2007-03-13T23:14:46.407+0100|INFO|sun-appserver-pe9.0|javax.enterprise.system.stream.out|_ThreadID=10;_ThreadName=main;|23:14:46,401 FATAL [webapp.webxml.WebXmlParser] Unable to parse web.xml java.net.ConnectException: Connection timed out at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:527) (…) at org.apache.myfaces.webapp.webxml.WebXmlParser.parse(WebXmlParser.java:89) at org.apache.myfaces.webapp.webxml.WebXml.init(WebXml.java:135) (…)
140 private class _EntityResolver implements EntityResolver 141 { 142 public InputSource resolveEntity(String publicId, String systemId) throws IOException 143 { 144 if (systemId == null) 145 { 146 throw new UnsupportedOperationException("systemId must not be null"); 147 } 148 149 if (systemId.equals(WebXmlParser.WEB_APP_2_2_SYSTEM_ID) || 150 systemId.equals(WebXmlParser.WEB_APP_2_2_J2EE_SYSTEM_ID)) 151 { 152 //Load DTD from servlet.jar 153 return createClassloaderInputSource(publicId, WebXmlParser.WEB_APP_2_2_RESOURCE); 154 } 155 else if (systemId.equals(WebXmlParser.WEB_APP_2_3_SYSTEM_ID)) 156 { 157 //Load DTD from servlet.jar 158 return createClassloaderInputSource(publicId, WebXmlParser.WEB_APP_2_3_RESOURCE); 159 } 160 else 161 { 162 //Load additional entities from web context 163 return createContextInputSource(publicId, systemId); 164 }
54 private static final String WEB_APP_2_2_J2EE_SYSTEM_ID = "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"; 55 private static final String WEB_APP_2_2_SYSTEM_ID = "http://java.sun.com/dtd/web-app_2_2.dtd"; 56 private static final String WEB_APP_2_2_RESOURCE = "javax/servlet/resources/web-app_2_2.dtd"; 57 58 private static final String WEB_APP_2_3_SYSTEM_ID = "http://java.sun.com/dtd/web-app_2_3.dtd"; 59 private static final String WEB_APP_2_3_RESOURCE = "javax/servlet/resources/web-app_2_3.dtd";
[#|2007-03-14T20:19:59.032+0100|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_ThreadID=10;_ThreadName=main;_RequestID=db65bcad-928d-42fb-86c3-15880b0b0d7a;|WebModule[/alfresco]Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener javax.faces.FacesException: java.net.MalformedURLException: Path WEB-INF/faces-config-custom.xml does not start with a "/" character at com.sun.faces.config.ConfigureListener.getContextURLForPath(ConfigureListener.java:1638)
[#|2007-03-14T20:52:32.718+0100|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_ThreadID=12;_ThreadName=httpWorkerThread-8080-1;_RequestID=7ea54b2a-acdd-4ba0-9f3e-eb1b3b6c5ad7;|StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception java.lang.UnsupportedOperationException at javax.faces.application.Application.getELResolver(Application.java:443) at com.sun.faces.context.FacesContextImpl.getELContext(FacesContextImpl.java:174)
Next problem: Web App is not starting yet.The log is:[#|2007-03-14T20:19:59.032+0100|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_ThreadID=10;_ThreadName=main;_RequestID=db65bcad-928d-42fb-86c3-15880b0b0d7a;|WebModule[/alfresco]Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener javax.faces.FacesException: java.net.MalformedURLException: Path WEB-INF/faces-config-custom.xml does not start with a "/" character at com.sun.faces.config.ConfigureListener.getContextURLForPath(ConfigureListener.java:1638) This times it sounds like it is an Alfresco bug. Look at the web.xml file. A "/" is missing:<param-name>javax.faces.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config-app.xml,/WEB-INF/faces-config-beans.xml,/WEB-INF/faces-config-navigation.xml,/WEB-INF/faces-config-common.xml,/WEB-INF/faces-config-repo.xml,/WEB-INF/faces-config-wcm.xml,WEB-INF/faces-config-custom.xml,/WEB-INF/faces-config-enterprise.xml</param-value> </context-param>stop / start … still problems
Oh yes, on Linux, ports with small numbers cannot be opened by another user than root.The server crashed on opening FTP or NetBIOS port.Using root to stop / start the server solved the problem.
I've still got one.[#|2007-03-14T20:52:32.718+0100|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_ThreadID=12;_ThreadName=httpWorkerThread-8080-1;_RequestID=7ea54b2a-acdd-4ba0-9f3e-eb1b3b6c5ad7;|StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception java.lang.UnsupportedOperationException at javax.faces.application.Application.getELResolver(Application.java:443) at com.sun.faces.context.FacesContextImpl.getELContext(FacesContextImpl.java:174)I perhaps missed something in Nick's conf…
[#|2007-03-14T20:52:32.718+0100|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_ThreadID=12;_ThreadName=httpWorkerThread-8080-1;_RequestID=7ea54b2a-acdd-4ba0-9f3e-eb1b3b6c5ad7;|StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception java.lang.UnsupportedOperationException at javax.faces.application.Application.getELResolver(Application.java:443) at com.sun.faces.context.FacesContextImpl.getELContext(FacesContextImpl.java:174)
pcheipe wrote: Oh yes, on Linux, ports with small numbers cannot be opened by another user than root. The server crashed on opening FTP or NetBIOS port. Using root to stop / start the server solved the problem. Yes i think you need to start the server as a user with the appropriate rights to open those ports - that's not a bug.
[#|2007-03-14T20:51:45.892+0100|SEVERE|sun-appserver-pe9.0|javax.enterprise.system.container.web|_ThreadID=11;_ThreadName=httpWorkerThread-8080-0;_RequestID=2704bb7f-1c3b-46d6-ab59-8f5b1af45660;|StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception java.lang.NullPointerException at com.sun.faces.lifecycle.ELResolverInitPhaseListener.populateFacesELResolverForJsp(ELResolverInitPhaseListener.java:135) at com.sun.faces.lifecycle.ELResolverInitPhaseListener.beforePhase(ELResolverInitPhaseListener.java:100) at org.apache.myfaces.lifecycle.LifecycleImpl.informPhaseListenersBefore(LifecycleImpl.java:520)
I've just created an ant build.xml for building Alfresco V2.0 with "Glassfish support". The script contains a "patch" to the web.xml for using MyFaces and do the tedious process of changing "http://java.sun.com/jsf/core'-> "http://myfaces.apache.org/jsf/core""http://java.sun.com/jsf/html'-> "http://myfaces.apache.org/jsf/html" You have only to change the processLauncher.xml and to copy the cryptix library to glassfish/domains/domain/lib/extOn my system, Alfresco deploy now without problem. The final process is detailled on http://www.naramski.info/roller/david/entry/deploy_alfresco_in_glassfish_v2The build and all the files is in the archive at the bottom of the article.I hope it helps
Actually, this method works has been tested only with Alfresco 2.0 CE. I will try an upgrade on Alfresco 2.1 ASAP. If you send me the version of glassfish you wanted to used, I can test it.
Yes that's what I thought too. But note that the source code looks like:140 private class _EntityResolver implements EntityResolver 141 { 142 public InputSource resolveEntity(String publicId, String systemId) throws IOException 143 { 144 if (systemId == null) 145 { 146 throw new UnsupportedOperationException("systemId must not be null"); 147 } 148 149 if (systemId.equals(WebXmlParser.WEB_APP_2_2_SYSTEM_ID) || 150 systemId.equals(WebXmlParser.WEB_APP_2_2_J2EE_SYSTEM_ID)) 151 { 152 //Load DTD from servlet.jar 153 return createClassloaderInputSource(publicId, WebXmlParser.WEB_APP_2_2_RESOURCE); 154 } 155 else if (systemId.equals(WebXmlParser.WEB_APP_2_3_SYSTEM_ID)) 156 { 157 //Load DTD from servlet.jar 158 return createClassloaderInputSource(publicId, WebXmlParser.WEB_APP_2_3_RESOURCE); 159 } 160 else 161 { 162 //Load additional entities from web context 163 return createContextInputSource(publicId, systemId); 164 }whith the following constants:54 private static final String WEB_APP_2_2_J2EE_SYSTEM_ID = "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"; 55 private static final String WEB_APP_2_2_SYSTEM_ID = "http://java.sun.com/dtd/web-app_2_2.dtd"; 56 private static final String WEB_APP_2_2_RESOURCE = "javax/servlet/resources/web-app_2_2.dtd"; 57 58 private static final String WEB_APP_2_3_SYSTEM_ID = "http://java.sun.com/dtd/web-app_2_3.dtd"; 59 private static final String WEB_APP_2_3_RESOURCE = "javax/servlet/resources/web-app_2_3.dtd";So I really do not understand…. But it seems that it is a Glassfish issue.It seems to work by simply deleting the DOCTYPE declaration (!!??!!), so keep going on…
<?xml version="1.0" encoding="UTF-8"?> <!– Copyright 2004-2005 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. –> <!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 8.1 Servlet 2.4//EN" "http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-1.dtd"> <sun-web-app> <class-loader delegate="false"/> <property name="useMyFaces" value="true"/> </sun-web-app>
<web-app version="2.3">
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.3"> …. <!– Listeners –> <listener> <listener-class> org.apache.myfaces.webapp.StartupServletContextListener</listener-class> </listener> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> ….