I've recently decided that the simplest way to start a new Cocoon project is to prepare a "minimal" configuration as a template and start adding to it whatever is needed. I've got the latest CVS, compiled it (WITH scratchpad) and tried to strip sitemap.xmap and cocoon.xconf to their barebones (you can look at the attached files).
The problem is with the libraries. It looks like there are two "optional" jars that must be included or you get an error. The first one is maybeupload_1-0-5pre3.jar. If I don't put it in WEB-INF/libs I get a stacktrace with this error: root cause java.lang.NoClassDefFoundError: uk/co/weft/maybeupload/MaybeUploadRequestWrapper The full page is in the attached status.html file. The second one is bsf-2.2.jar. If I don't include it in WEB-INF/lib I get a page telling me that the sitemap could not be compiled and the following message is in the logs: ERROR (2002-02-19) 09:22.07:682 [sitemap] (/cocoon/status) HttpProcessor[8080][4]/Handler: Error compiling sitemap java.lang.NoClassDefFoundError: com/ibm/bsf/BSFException I can't find where in the sitemap or xconf file these classes are referred to. My configuration is the following: - Linux RedHat 7.1 - Sun JDK 1.4.0 (with xalan-2.2.0.jar, xerces-1.4.4.jar, xml-apis.jar in jre/lib/endorsed) - Cocoon 2 from CVS as of February 18. - Tomcat 4.0.1 If we can solve this issue, we might provide this kind of configuration in the distribution, as it seems it could be useful. Ugo -- Ugo Cei - Consorzio di Bioingegneria e Informatica Medica P.le Volontari del Sangue, 2 - 27100 Pavia - Italy Phone: +39.0382.525100 - E-mail: [EMAIL PROTECTED]
<?xml version="1.0"?> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <!-- =========================== Components ================================ --> <map:components> <map:generators default="file"> <map:generator name="directory" logger="sitemap.generator.directory" label="content,data" src="org.apache.cocoon.generation.DirectoryGenerator"/> <map:generator name="imagedirectory" logger="sitemap.generator.imagedirectory" label="content,data" src="org.apache.cocoon.generation.ImageDirectoryGenerator"/> <map:generator name="request" logger="sitemap.generator.request" label="data" src="org.apache.cocoon.generation.RequestGenerator"/> <map:generator name="status" logger="sitemap.generator.status" label="data" src="org.apache.cocoon.generation.StatusGenerator"/> <map:generator name="extractor" logger="sitemap.generator.extractor" label="data" src="org.apache.cocoon.generation.FragmentExtractorGenerator"/> <map:generator name="script" src="org.apache.cocoon.generation.ScriptGenerator" logger="sitemap.generator.script" label="content,data"/> <map:generator name="jsp" src="org.apache.cocoon.generation.JspGenerator" logger="sitemap.generator.jsp" label="content,data"/> <map:generator name="stream" src="org.apache.cocoon.generation.StreamGenerator" logger="sitemap.generator.stream" label="content,data"/> <map:generator name="html" src="org.apache.cocoon.generation.HTMLGenerator" logger="sitemap.generator.html" label="content"/> </map:generators> <map:transformers default="xslt"> <map:transformer name="log" logger="sitemap.transformer.log" src="org.apache.cocoon.transformation.LogTransformer"/> <map:transformer name="sql" logger="sitemap.transformer.sql" src="org.apache.cocoon.transformation.SQLTransformer"/> <map:transformer name="extractor" logger="sitemap.transformer.extractor" src="org.apache.cocoon.transformation.FragmentExtractorTransformer"/> <map:transformer name="i18n" logger="sitemap.transformer.i18n" src="org.apache.cocoon.transformation.I18nTransformer"> <catalogue-name>messages</catalogue-name> <catalogue-location>translations</catalogue-location> </map:transformer> <map:transformer name="xinclude" logger="sitemap.transformer.xinclude" src="org.apache.cocoon.transformation.XIncludeTransformer"/> <map:transformer name="cinclude" logger="sitemap.transformer.cinclude" src="org.apache.cocoon.transformation.CIncludeTransformer"/> <map:transformer name="filter" logger="sitemap.transformer.filter" src="org.apache.cocoon.transformation.FilterTransformer"/> <map:transformer name="writeDOMsession" logger="sitemap.transformer.writeDOMsession" src="org.apache.cocoon.transformation.WriteDOMSessionTransformer"/> <map:transformer name="readDOMsession" logger="sitemap.transformer.readDOMsession" src="org.apache.cocoon.transformation.ReadDOMSessionTransformer"/> <map:transformer name="encodeURL" src="org.apache.cocoon.transformation.EncodeURLTransformer" logger="sitemap.transformer.encodeURL"/> </map:transformers> <map:readers default="resource"> <map:reader name="jsp" logger="sitemap.reader.jsp" src="org.apache.cocoon.reading.JSPReader"/> </map:readers> <map:serializers default="html"> <map:serializer name="wml" mime-type="text/vnd.wap.wml" logger="sitemap.serializer.wml" src="org.apache.cocoon.serialization.XMLSerializer"> <doctype-public>-//WAPFORUM//DTD WML 1.1//EN</doctype-public> <doctype-system>http://www.wapforum.org/DTD/wml_1.1.xml</doctype-system> <encoding>ASCII</encoding> <omit-xml-declaration>yes</omit-xml-declaration> </map:serializer> <map:serializer name="svgxml" mime-type="image/svg-xml" logger="sitemap.serializer.svgxml" src="org.apache.cocoon.serialization.XMLSerializer"> <doctype-public>-//W3C//DTD SVG 20000303 Stylable//EN</doctype-public> <doctype-system>http://www.w3.org/TR/2000/03/WD-SVG-20000303/</doctype-system> </map:serializer> <map:serializer name="text" mime-type="text/text" logger="sitemap.serializer.text" src="org.apache.cocoon.serialization.TextSerializer"/> </map:serializers> <map:matchers default="wildcard"> <map:matcher name="wildcard" logger="sitemap.matcher.wildcard" src="org.apache.cocoon.matching.WildcardURIMatcher"/> <map:matcher name="regexp" logger="sitemap.matcher.regexp" src="org.apache.cocoon.matching.RegexpURIMatcher"/> <map:matcher name="request-parameter" logger="sitemap.matcher.request-parameter" src="org.apache.cocoon.matching.RequestParameterMatcher"/> <map:matcher name="sessionstate" logger="sitemap.matcher.sessionstate" src="org.apache.cocoon.matching.WildcardSessionAttributeMatcher"> <attribute-name>org.apache.cocoon.SessionState</attribute-name> </map:matcher> <map:matcher name="next-page" logger="sitemap.matcher.next-page" src="org.apache.cocoon.matching.WildcardRequestParameterMatcher"> <parameter-name>next-state</parameter-name> </map:matcher> <map:matcher name="referer-match" logger="sitemap.matcher.referer-match" src="org.apache.cocoon.matching.WildcardHeaderMatcher"> <header-name>referer</header-name> </map:matcher> </map:matchers> <map:selectors default="browser"> <map:selector name="browser" logger="sitemap.selector.browser" src="org.apache.cocoon.selection.BrowserSelector"> <!-- # NOTE: The appearance indicates the search order. This is very important since # some words may be found in more than one browser description. (MSIE is # presented as "Mozilla/4.0 (Compatible; MSIE 4.01; ...") --> <browser name="explorer" useragent="MSIE"/> <browser name="pocketexplorer" useragent="MSPIE"/> <browser name="handweb" useragent="HandHTTP"/> <browser name="avantgo" useragent="AvantGo"/> <browser name="imode" useragent="DoCoMo"/> <browser name="opera" useragent="Opera"/> <browser name="lynx" useragent="Lynx"/> <browser name="java" useragent="Java"/> <browser name="wap" useragent="Nokia"/> <browser name="wap" useragent="UP"/> <browser name="wap" useragent="Wapalizer"/> <browser name="mozilla5" useragent="Mozilla/5"/> <browser name="mozilla5" useragent="Netscape6/"/> <browser name="netscape" useragent="Mozilla"/> </map:selector> <map:selector name="request-parameter" logger="sitemap.selector.request-parameter" src="org.apache.cocoon.selection.RequestParameterSelector"> <!-- Define now which request parameter to use; or do it later, when using this selector, via "parameter-name" parameter. <parameter-name>myparam</parameter-name> --> </map:selector> <map:selector name="request-attribute" logger="sitemap.selector.request-attribute" src="org.apache.cocoon.selection.RequestAttributeSelector"> <!-- <attribute-name>myparam</attribute-name> --> </map:selector> <map:selector name="session-attribute" logger="sitemap.selector.session-attribute" src="org.apache.cocoon.selection.SessionAttributeSelector"> <!-- <attribute-name>myparam</attribute-name> --> </map:selector> <map:selector name="parameter" logger="sitemap.selector.parameter" src="org.apache.cocoon.selection.ParameterSelector"/> <map:selector name="header" logger="sitemap.selector.header" src="org.apache.cocoon.selection.HeaderSelector"> <!-- <header-name>myparam</header-name> --> </map:selector> <map:selector name="host" logger="sitemap.selector.host" src="org.apache.cocoon.selection.HostSelector"/> </map:selectors> <map:actions> <map:action name="locale" logger="sitemap.action.locale" src="org.apache.cocoon.acting.LocaleAction"/> <map:action name="request" logger="sitemap.action.request" src="org.apache.cocoon.acting.RequestParamAction"/> <map:action name="form-validator" logger="sitemap.action.form-validator" src="org.apache.cocoon.acting.FormValidatorAction"/> <map:action name="session-state" logger="sitemap.action.session-state" src="org.apache.cocoon.acting.SessionStateAction"/> <map:action name="session-isvalid" logger="sitemap.action.session-isvalid" src="org.apache.cocoon.acting.SessionIsValidAction"/> <map:action name="resource-exists" logger="sitemap.action.resource-exists" src="org.apache.cocoon.acting.ResourceExistsAction"/> </map:actions> </map:components> <!-- =========================== Views =================================== --> <!-- Views provide diffent, well, views to resources. Views are orthogonal to pipelines. Please refer to the docs. --> <map:views> <map:view name="content" from-label="content"> <map:serialize type="xml"/> </map:view> <map:view name="pretty-content" from-label="data"> <map:transform src="stylesheets/simple-xml2html.xsl"/> <map:serialize type="html"/> </map:view> <map:view name="links" from-position="last"> <map:serialize type="links"/> </map:view> </map:views> <!-- =========================== Resources ================================= --> <map:resources> </map:resources> <!-- ========================== Action sets ================================ --> <!-- Action sets group actions together. If some actions are often used together in pipeline fragments, it's easier to group them and refer to the group. For more info, please see the docs. --> <map:action-sets> </map:action-sets> <!-- =========================== Pipelines ================================= --> <map:pipelines> <!-- Utility for viewing source xml or html --> <map:pipeline> <!-- sample use of regexp equivalent to "**.source" using wildcard this also shows the '\{' notation to escape sitemap values substitution --> <map:match pattern="(.*)\.s\{1}ource" type="regexp"> <map:generate src="cocoon:/{1}" /> <map:transform src="stylesheets/simple-xml2html.xsl"/> <map:serialize/> </map:match> </map:pipeline> <map:pipeline> <map:match pattern=""> <map:redirect-to uri="status"/> </map:match> <map:match pattern="status"> <map:generate type="status" src="status"/> <map:transform src="stylesheets/system/status2html.xsl"/> <map:serialize/> </map:match> <map:match pattern="images/**.gif"> <map:read src="resources/images/{1}.gif" mime-type="image/gif"/> </map:match> <map:match pattern="images/**.jpg"> <map:read src="resources/images/{1}.jpg" mime-type="image/jpg"/> </map:match> <map:match pattern="images/**.png"> <map:read src="resources/images/{1}.png" mime-type="image/png"/> </map:match> <map:handle-errors> <map:transform src="context://stylesheets/system/error2html.xsl"/> <map:serialize status-code="500"/> </map:handle-errors> </map:pipeline> </map:pipelines> </map:sitemap> <!-- end of file -->
<?xml version="1.0"?> <cocoon version="2.0"> <tree-processor> <!-- The sitemap language --> <language name="sitemap" class="org.apache.cocoon.treeprocessor.sitemap.SitemapLanguage"> <!-- Namespace for this language --> <namespace uri="http://apache.org/cocoon/sitemap/1.0"/> <!-- File name for files in this language, relative to the environment prefix --> <file name="sitemap.xmap"/> <!-- Description of the element for nodes parameters --> <parameter element="parameter"/> <!-- roles for the sitemap language --> <roles> <role name="org.apache.cocoon.acting.ActionSelector" shorthand="actions" default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"/> <role name="org.apache.cocoon.selection.SelectorSelector" shorthand="selectors" default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"/> <role name="org.apache.cocoon.matching.MatcherSelector" shorthand="matchers" default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"> <hint shorthand="regexp-uri-matcher" class="org.apache.cocoon.matching.RegexpURIMatcher"/> <hint shorthand="wildcard-uri-matcher" class="org.apache.cocoon.matching.WildcardURIMatcher"/> </role> <role name="org.apache.cocoon.generation.GeneratorSelector" shorthand="generators" default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"> <hint shorthand="file-generator" class="org.apache.cocoon.generation.FileGenerator"/> <hint shorthand="XSP-generator" class="org.apache.cocoon.generation.ServerPagesGenerator"/> </role> <role name="org.apache.cocoon.transformation.TransformerSelector" shorthand="transformers" default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"> <hint shorthand="XSLT-transformer" class="org.apache.cocoon.transformation.TraxTransformer"/> <hint shorthand="cinclude-transformer" class="org.apache.cocoon.transformation.CIncludeTransformer"/> </role> <role name="org.apache.cocoon.serialization.SerializerSelector" shorthand="serializers" default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"/> <role name="org.apache.cocoon.reading.ReaderSelector" shorthand="readers" default-class="org.apache.cocoon.treeprocessor.sitemap.ComponentsSelector"/> <role name="org.apache.cocoon.components.notification.NotifyingBuilder" shorthand="notifying-builder" default-class="org.apache.cocoon.components.notification.DefaultNotifyingBuilder"/> </roles> <!-- node definitions for the sitemap language --> <nodes> <!-- All node names are given as local names in the above namespace (no prefix) --> <!-- Sitemap root node --> <node name="sitemap" builder="org.apache.cocoon.treeprocessor.sitemap.SitemapNodeBuilder"> <allowed-children>components, views, action-sets, resources, pipelines</allowed-children> </node> <!-- Components definition : parse view info associated to components (actual components creation is done by SitemapLanguage) --> <node name="components" builder="org.apache.cocoon.treeprocessor.sitemap.ComponentsNodeBuilder"/> <node name="pipelines" builder="org.apache.cocoon.treeprocessor.sitemap.PipelinesNodeBuilder"> <allowed-children>pipeline</allowed-children> </node> <node name="views" builder="org.apache.cocoon.treeprocessor.CategoryNodeBuilder"/> <node name="view" builder="org.apache.cocoon.treeprocessor.sitemap.ViewNodeBuilder"/> <node name="resources" builder="org.apache.cocoon.treeprocessor.CategoryNodeBuilder"/> <node name="resource" builder="org.apache.cocoon.treeprocessor.NamedContainerNodeBuilder"/> <node name="action-sets" builder="org.apache.cocoon.treeprocessor.CategoryNodeBuilder"/> <node name="action-set" builder="org.apache.cocoon.treeprocessor.sitemap.ActionSetNodeBuilder"/> <node name="pipeline" builder="org.apache.cocoon.treeprocessor.sitemap.PipelineNodeBuilder"> <forbidden-children>sitemap, components, pipelines</forbidden-children> </node> <node name="match" builder="org.apache.cocoon.treeprocessor.sitemap.MatchNodeBuilder"> <forbidden-children>sitemap, components, pipeline, handle-errors</forbidden-children> </node> <node name="select" builder="org.apache.cocoon.treeprocessor.sitemap.SelectNodeBuilder"/> <node name="act" builder="org.apache.cocoon.treeprocessor.sitemap.ActNodeBuilder"> <forbidden-children>sitemap, components, pipeline, handle-errors</forbidden-children> </node> <node name="redirect-to" builder="org.apache.cocoon.treeprocessor.sitemap.RedirectToNodeBuilder"/> <node name="call" builder="org.apache.cocoon.treeprocessor.sitemap.CallNodeBuilder"/> <node name="mount" builder="org.apache.cocoon.treeprocessor.sitemap.MountNodeBuilder"/> <node name="read" builder="org.apache.cocoon.treeprocessor.sitemap.ReadNodeBuilder"/> <node name="aggregate" builder="org.apache.cocoon.treeprocessor.sitemap.AggregateNodeBuilder"/> <node name="generate" builder="org.apache.cocoon.treeprocessor.sitemap.GenerateNodeBuilder"/> <node name="transform" builder="org.apache.cocoon.treeprocessor.sitemap.TransformNodeBuilder"/> <node name="serialize" builder="org.apache.cocoon.treeprocessor.sitemap.SerializeNodeBuilder"/> <node name="handle-errors" builder="org.apache.cocoon.treeprocessor.sitemap.HandleErrorsNodeBuilder"/> </nodes> </language> </tree-processor> <component role="org.apache.cocoon.sunshine.SunShine" class="org.apache.cocoon.sunshine.SunShine"/> <component role="org.apache.cocoon.sunshine.sunrise.SunRise" class="org.apache.cocoon.sunshine.sunrise.SunRise"> <mediatypes default="html"> <media name="wap" useragent="Nokia"/> <media name="wap" useragent="UP"/> <media name="wap" useragent="Wapalizer"/> </mediatypes> </component> <component role="org.apache.cocoon.sunshine.sunspot.SunSpot" class="org.apache.cocoon.sunshine.sunspot.SunSpot"/> <component role="org.apache.cocoon.sunshine.connector.ResourceConnector" class="org.apache.cocoon.sunshine.connector.ResourceConnectorImpl"/> <!-- Source Handler: The source handler adds special url protocols to the system, they are then available inside Cocoon, e.g. as a source argument for one of the sitemap components. --> <source-handler logger="core.source-handler"> <!-- xmldb pseudo protocol --> <protocol name="xmldb" class="org.apache.cocoon.components.source.XMLDBSourceFactory"> <!-- dbXML driver --> <driver type="dbxml" class="org.dbxml.client.xmldb.DatabaseImpl"/> <!-- Add here other XML:DB compliant databases drivers --> </protocol> </source-handler> <!-- Search: These are the components that handle the search. Cocoon indexer write into an index. Cocoon searcher reads form an index, returning matched hits. Cocoon crawler crawls all links starting from a given base URI. Lucene xml indexer build a lucene document from XML content. <cocoon-indexer logger="core.search.indexer"/> <cocoon-searcher logger="core.search.searcher"/> <cocoon-crawler logger="core.search.crawler"/> <lucene-xml-indexer logger="core.search.lucene"/> --> <!-- HSQLDB Server for samples: Comment this section out if you don't care about the samples. port : number port where the server is listening silent : true/false display all queries trace : true/false display JDBC trace messages <hsqldb-server class="org.apache.cocoon.components.hsqldb.ServerImpl" logger="core.hsqldb-server" pool-max="1" pool-min="1"> <parameter name="port" value="9002"/> <parameter name="silent" value="true"/> <parameter name="trace" value="false"/> </hsqldb-server> --> <!-- Entity resolution catalogs: ********************************************* catalog: The default catalog is distributed at /resources/entities/catalog This is the contextual pathname for Cocoon resources. You can override this path, if necessary, using the "catalog" parameter. <parameter name="catalog" value="/resources/entities/catalog"/> However, it is probably desirable to leave this default catalog config and declare your own local catalogs, which are loaded in addition to the system catalog. There are various ways to do local configuration (see "Entity Catalogs" documentation). One way is via the CatalogManager.properties file. As an additional method, you can specify the "local-catalog" parameter here. local-catalog: The full filesystem pathname to a single local catalog file. <parameter name="local-catalog" value="/usr/local/sgml/mycatalog"/> verbosity: The level of messages for status/debug (messages go to standard output) The following messages are provided ... 0 = none 1 = ? (... not sure yet) 2 = 1+, Loading catalog, Resolved public, Resolved system 3 = 2+, Catalog does not exist, resolvePublic, resolveSystem 10 = 3+, List all catalog entries when loading a catalog (Cocoon also logs the "Resolved public" messages.) TODO: determine all messages at each level <parameter name="verbosity" value="2"/> ************************************************************************** --> <!-- <entity-resolver class="org.apache.cocoon.components.resolver.ResolverImpl" logger="core.resolver"> <parameter name="catalog" value="/resources/entities/catalog"/> <parameter name="verbosity" value="1"/> </entity-resolver> --> <!-- Persistent store for the cache. Two store implementations to choose from: * FilesystemStore: Simple. Dependable. Thorougly tested. * JispFilesystemStore: Scalable. New kid on the block. Not thorougly tested. If you opt in to use JispFilesystemStore, comment out FilesystemStore entry. JispFilesystemStore configuration parameters (in addition to common parameters): datafile: name of the store file to use. indexfile: name of the index file to use. order: FIXME: put description here. <cache-persistent class="org.apache.cocoon.components.store.JispFilesystemStore" logger="core.store.persistent"> <parameter name="use-cache-directory" value="true"/> <parameter name="datafile" value="cocoon-cache.dat"/> <parameter name="indexfile" value="cocoon-cache.idx"/> <parameter name="order" value="1701"/> </cache-persistent> --> <!-- Deli support <deli class="org.apache.cocoon.components.deli.DeliImpl"> <parameter name="deli-config-file" value="resources/deli/config/deliConfig.xml"/> </deli> --> <!-- ================ Apache Cocoon configuration file ================== --> <!-- For full description of the components and their parameters ... - Apache Cocoon User Documentation at /userdocs/ - webapp/cocoon.xconf (this file) - describes each core component - each optional component/.../*.xconf - these describe the parameters for each component and are automatically included at build-time. The notes that accompany the settings below are intended to be concise. --> <!-- ===================== General Components =========================== --> <!-- Parser: The default parser used in Apache Cocoon is org.apache.avalon.excalibur.xml.JaxpParser. Apache Cocoon requires a JAXP 1.1 parser. If you have problems because your servlet environment uses its own parser not conforming to JAXP 1.1 try using the alternative XercesParser instead of the JaxpParser. To activate the XercesParser, change the class attribute to class="org.apache.avalon.excalibur.xml.XercesParser" You will also need to add a system property to your JVM, probably on the startup of your servlet engine like this: -Dorg.apache.avalon.excalibur.xml.Parser=org.apache.avalon.excalibur.xml.XercesParser Configuration for the JaxpParser (not the XercesParser!): - validate (boolean, default = false): This parameter causes the parser to be a validating parser. XML validation is only being used for the documentation build. (If you are going to use it elsewhere, then do so with caution.) You really should have validated all of your XML documents already, according to their proper DTD or schema. Do not expect Cocoon to do it. - namespace-prefixes (boolean, default = false) : do we want namespaces declarations also as 'xmlns:' attributes ? Note : setting this to true confuses some XSL processors (e.g. Saxon). - stop-on-warning (boolean, default = true) : should the parser stop parsing if a warning occurs ? - stop-on-recoverable-error (boolean, default = true) : should the parser stop parsing if a recoverable error occurs ? - reuse-parsers (boolean, default = true) : do we want to reuse parsers or create a new parser for each parse ? Note : even if this parameter is true, parsers are not recycled in case of parsing errors : some parsers (e.g. Xerces) don't like to be reused after failure. - sax-parser-factory (string) : the name of the SAXParserFactory implementation class to be used instead of using the standard JAXP mechanism (SAXParserFactory.newInstance()). This allows to choose unambiguously the JAXP implementation to be used when several of them are available in the classpath. - document-builder-factory (string) : the name of the DocumentBuilderFactory implementation to be used (similar to sax-parser-factory for DOM). --> <xml-parser class="org.apache.avalon.excalibur.xml.JaxpParser" logger="core.xml-parser"> <parameter name="validate" value="false"/> <parameter name="namespace-prefixes" value="false"/> <parameter name="stop-on-warning" value="true"/> <parameter name="stop-on-recoverable-error" value="true"/> <!-- <parameter name="reuse-parsers" value="true"/> <parameter name="sax-parser-factory" value="???"/> <parameter name="document-builder-factory" value="???"/> --> </xml-parser> <!-- ============================ STORE ============================ --> <!-- Persistent store for the cache. Two store implementations to choose from: * FilesystemStore: Simple. Dependable. Thorougly tested. * JispFilesystemStore: Scalable. New kid on the block. Common configuration parameters: use-cache-directory: Indicates that cache directory specified in web.xml should be used. use-work-directory: Indicates that work directory specified in web.xml should be used. directory: Specifies directory to use. Absolute or relative to the work directory. --> <cache-persistent class="org.apache.cocoon.components.store.FilesystemStore" logger="core.store.persistent"> <parameter name="use-cache-directory" value="true"/> </cache-persistent> <!-- Memory Storing: --> <cache-transient class="org.apache.cocoon.components.store.MRUMemoryStore" logger="core.store.transient"> <!-- Indicates how many objects will be hold in the cache. When the number of maxobjects has been reached. The last object in the cache will be thrown out. --> <parameter name="maxobjects" value="100"/> <!-- Turns the swapping of the objects into persistent cache on and off. --> <parameter name="use-persistent-cache" value="true"/> </cache-transient> <!-- Store Janitor: Be careful with the heapsize and freememory parameters. Wrong values can cause high cpu usage. Example configuration: Jvm settings: -Xms100000000 -Xmx200000000 store-janitor settings: <parameter name="freememory" value="5000000"/> <parameter name="heapsize" value="150000000"/> Heapsize *must* be higher then the -Xms parameter and *must* be lower or equal than -Xmx. It is recommended to have heapsize equal to -Xmx, especially on Sun's JVM which are unable to shrink its heap once it grows above minimum. Freememory parameter *must* be lower than -Xms, and should be greater than amount of memory necessary for normal application operation. --> <store-janitor class="org.apache.cocoon.components.store.StoreJanitorImpl" logger="core.store.janitor"> <!-- How much free memory shall be available in the jvm --> <parameter name="freememory" value="20000000"/> <!-- Indicates the limit of the jvm memory consumption. The default max heapsize for Sun's JVM is 64Mb --> <parameter name="heapsize" value="108000000"/> <!-- How often shall the cleanup thread check memory --> <parameter name="cleanupthreadinterval" value="10"/> <!-- Indicates the thread priority of the cleanup thread --> <parameter name="threadpriority" value="5"/> <!-- How much percent of the elements of each registered Store shall be removed when low on memory. Default 10% --> <parameter name="percent_to_free" value="10"/> </store-janitor> <!-- ============================ STORE END ========================= --> <!-- XSLT Processor: For Xalan: Turn 'incremental-processing' to true if you want a continous output (if set to false the transformer delivers SAX events after all transformations has been done). --> <xslt-processor class="org.apache.cocoon.components.xslt.XSLTProcessorImpl" logger="core.xslt-processor"> <parameter name="use-store" value="true"/> <parameter name="incremental-processing" value="true"/> </xslt-processor> <!-- Xpath Processor: --> <xpath-processor class="org.apache.cocoon.components.xpath.XPathProcessorImpl" logger="core.xpath-processor"/> <!-- URL Factory: The url factory adds special url protocols to the system, they are then available inside Cocoon, e.g. as a source argument for one of the sitemap components. --> <url-factory logger="core.url-factory"> <!-- Allows access to resources available from the ClassLoader, using getResource() method. --> <protocol name="resource" class="org.apache.cocoon.components.url.ResourceURLFactory"/> <!-- Allows access to resources available from the servlet context, using getResource() method. --> <protocol name="context" class="org.apache.cocoon.components.url.ContextURLFactory"/> <!-- Add here protocol factories for your own protocols --> </url-factory> <!-- Program Generator: The ProgamGenerator builds programs from a XML document written in a MarkupLanguage. auto-reload: root-package: persistent code repository. preload: --> <program-generator logger="core.program-generator"> <parameter name="auto-reload" value="true"/> <parameter name="root-package" value="org.apache.cocoon.www"/> <parameter name="preload" value="true"/> </program-generator> <!-- JSP Engine: The JspGenerator selects a JSPEngine component. The JSPEngine component launches a JSP servlet engine of your servlet container, feeds the HttpRequest into the JSP servlet engine, and pipes the jsp response as SAX events into Cocoon2. The JSP page is specified by the HttpRequest. This way you can continue to use your JSP pages. Your migration from JSP to XSP may be done step by step. You may specify your JSP pages either as JSP scriptlets or as JSP-XML. But keep in mind that your JSP output should be valid XML. --> <jsp-engine logger="core.jsp-engine"> <parameter name="servlet-class" value="org.apache.jasper.servlet.JspServlet"/> <parameter name="servlet-name" value="*.jsp"/> </jsp-engine> <!-- Xscript: --> <xscript logger="core.xscript"> <parameter name="xscript:copy-of" value="resource://org/apache/cocoon/components/xscript/xslt/copy-of.xsl"/> <parameter name="xscript:value-of" value="resource://org/apache/cocoon/components/xscript/xslt/value-of.xsl"/> </xscript> <!-- Programming Languages: --> <programming-languages> <java-language name="java" logger="core.language.java"> <!-- Compiler parameter specifies which class to use to compile Java. Possible variants are: Javac. Requires javac.jar (included with Cocoon distribution). Pizza. Requires pizza.jar (included with Cocoon distribution). Jikes. Requires IBM jikes compiler to be present in the PATH --> <parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Javac"/> <!-- Specifies which formatter to use to format source code. This parameter is optional. It is commented out because of bug #5689: Java "code-formatter" incorrectly formats double values <parameter name="code-formatter" value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/> --> <!-- A singleton-like implementation of a ClassLoader --> <parameter name="class-loader" value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/> </java-language> <!-- Interpreted JavaScript language --> <js-language name="js" logger="core.language.js"/> </programming-languages> <!-- Class loader: A singleton-like implementation of a ClassLoader. --> <classloader class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl" logger="core.classloader"/> <!-- Markup Languages: This section defines several builtin logicsheets. A logicsheet is an XML filter used to translate user-defined, dynamic markup into equivalent code embedding directives for a given markup language. --> <markup-languages> <xsp-language name="xsp" logger="core.markup.xsp"> <parameter name="prefix" value="xsp"/> <parameter name="uri" value="http://apache.org/xsp"/> <!-- Defines the XSP Core logicsheet for the Java language --> <target-language name="java"> <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/> <!-- The Request logicsheet (taglib) is an XSP logicsheet that wraps XML tags around standard request operations --> <builtin-logicsheet> <parameter name="prefix" value="xsp-request"/> <parameter name="uri" value="http://apache.org/xsp/request/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/> </builtin-logicsheet> <!-- The Response logicsheet (taglib) is an XSP logicsheet that wraps XML tags around standard response operations --> <builtin-logicsheet> <parameter name="prefix" value="xsp-response"/> <parameter name="uri" value="http://apache.org/xsp/response/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/> </builtin-logicsheet> <!-- The Session logicsheet (taglib) is an XSP logicsheet that wraps XML tags around standard session operations. Specifically, the Session logicsheet provides an XML interface to most methods of the HttpSession object (see the Java Servlet API Specification, version 2.2 ) for more information. --> <builtin-logicsheet> <parameter name="prefix" value="session"/> <parameter name="uri" value="http://apache.org/xsp/session/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/session.xsl"/> </builtin-logicsheet> <!-- The Cookie logicsheet (taglib) is an XSP logicsheet that wraps XML tags around standard cookie operations --> <builtin-logicsheet> <parameter name="prefix" value="xsp-cookie"/> <parameter name="uri" value="http://apache.org/xsp/cookie/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/cookie.xsl"/> </builtin-logicsheet> <!-- The ESQL logicsheet is an XSP logicsheet that performs sql queries and serializes their results as XML. This allows you to work with data from a wide variety of different sources when using Apache Cocoon. --> <builtin-logicsheet> <parameter name="prefix" value="esql"/> <parameter name="uri" value="http://apache.org/cocoon/SQL/v2"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/esql.xsl"/> </builtin-logicsheet> <builtin-logicsheet> <parameter name="prefix" value="log"/> <parameter name="uri" value="http://apache.org/xsp/log/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/log.xsl"/> </builtin-logicsheet> <builtin-logicsheet> <parameter name="prefix" value="util"/> <parameter name="uri" value="http://apache.org/xsp/util/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/util.xsl"/> </builtin-logicsheet> <!-- The xsp-formval taglib serves as interface to retrieve validation results from a request attribute --> <builtin-logicsheet> <parameter name="prefix" value="xsp-formval"/> <parameter name="uri" value="http://apache.org/xsp/form-validator/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/form-validator.xsl"/> </builtin-logicsheet> <!-- The sel taglib allows to put multiple pages / view into one xsp. While in general it is good style to put different views into different xsp because they're more easily maintained, this is a useful feature with e.g. with long forms that are broken into parts --> <builtin-logicsheet> <parameter name="prefix" value="sel"/> <parameter name="uri" value="http://apache.org/xsp/sel/1.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/sel.xsl"/> </builtin-logicsheet> <builtin-logicsheet> <parameter name="prefix" value="action"/> <parameter name="uri" value="http://apache.org/cocoon/action/1.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/action.xsl"/> </builtin-logicsheet> <!-- The capture taglib is for capturing parts of the XSP-generated XML as XML fragments or DOM nodes --> <builtin-logicsheet> <parameter name="prefix" value="capture"/> <parameter name="uri" value="http://apache.org/cocoon/capture/1.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/capture.xsl"/> </builtin-logicsheet> <builtin-logicsheet> <parameter name="prefix" value="xscript"/> <parameter name="uri" value="http://apache.org/xsp/xscript/1.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xscript.xsl"/> </builtin-logicsheet> <builtin-logicsheet> <parameter name="prefix" value="soap"/> <parameter name="uri" value="http://apache.org/xsp/soap/3.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/soap.xsl"/> </builtin-logicsheet> </target-language> <target-language name="js"> <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/xsp.xsl"/> <builtin-logicsheet> <parameter name="prefix" value="xsp-request"/> <parameter name="uri" value="http://apache.org/xsp/request/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/request.xsl"/> </builtin-logicsheet> <builtin-logicsheet> <parameter name="prefix" value="xsp-response"/> <parameter name="uri" value="http://apache.org/xsp/response/2.0"/> <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/javascript/response.xsl"/> </builtin-logicsheet> </target-language> </xsp-language> <!-- Defines Sitemap Core logicsheet for the Java language --> <sitemap-language name="sitemap" logger="core.markup.sitemap"> <parameter name="prefix" value="map"/> <parameter name="uri" value="http://apache.org/cocoon/sitemap/1.0"/> <target-language name="java"> <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl"/> </target-language> </sitemap-language> </markup-languages> <!-- Datasources: --> <datasources> </datasources> <!-- Stream Pipeline: Either collects a Reader and lets it produce a character stream or connects an EventPipeline with a Serializer and lets them produce the character stream. Alternatives to CachingStreamPipeline are: <stream-pipeline class="org.apache.cocoon.components.pipeline.NonCachingStreamPipeline"/> --> <stream-pipeline class="org.apache.cocoon.components.pipeline.CachingStreamPipeline" logger="core.stream-pipeline" pool-max="32" pool-min="8" pool-grow="4"/> <!-- Event Pipeline: Connects the generator and the various transformers and produces a character stream. Alternatives to CachingEventPipeline are: <event-pipeline class="org.apache.cocoon.components.pipeline.NonCachingEventPipeline"/> <event-pipeline class="org.apache.cocoon.components.profiler.ProfilingCachingEventPipeline"/> <event-pipeline class="org.apache.cocoon.components.profiler.ProfilingNonCachingEventPipeline"/> --> <event-pipeline class="org.apache.cocoon.components.pipeline.CachingEventPipeline" logger="core.event-pipeline" pool-max="32" pool-min="8" pool-grow="4"/> <!-- Compiling xml to byte streams. The xml-serializer "compiles" xml sax events into a byte stream and the xml-deserializer does the same vice versa. Make sure, that if you change one of these components, that you may have to change the other one as well, as they might have a dependency. --> <xml-serializer class="org.apache.cocoon.components.sax.XMLByteStreamCompiler" logger="core.xml-serializer"/> <xml-deserializer class="org.apache.cocoon.components.sax.XMLByteStreamInterpreter" logger="core.xml-deserializer"/> <!-- SAXConnector: Connects the various pipeline components. LoggingSAXConnector logs SAX events between pipeline components into cocoon's log file. ProfilingSAXConnector gathers timing information. Uncomment one of the following lines for using the SAXConnector. <sax-connector class="org.apache.cocoon.components.saxconnector.LoggingSAXConnector"/> <sax-connector class="org.apache.cocoon.components.profiler.ProfilingSAXConnector"/> --> <!-- Profiler: The profiler facilitates the gathering of statistics about timings of different steps of pipelines. Profiler consists of several components: profiling pipeline, profiling SAX connector, and profiler generator which are used to generate the profile report. You need to enable all of these components to use profiler. Uncomment the following line to use profiler. <profiler/> --> <!-- Resource Monitor: The Monitor keeps track on changes to a Resource. --> <monitor logger="core.monitor"> <thread priority="5" frequency="10000"/> </monitor> <!-- ======================== The sitemap ============================== --> <!-- Reloading of the sitemap: The check-reload attribute determines if the sitemap is reloaded on change. Set to "no", the sitemap is generated once at startup. Set to "yes", the sitemap is regenerated if it changes. The reload-method specifies the method for the regeneration: asynchron: If the sitemap changes, the sitemap is regenerated at the next request in the background and the incoming request is served with the old sitemap. All subsequent requests are served with the old sitemap until the regeneration in the background has finished. synchron: If the sitemap changes, the sitemap is regenerated at the next request. When the regeneration is finished, the request (and all subsequent ones) is served with the new sitemap. For development environment, set the reload-method to synchron and the check-reload to yes. For production environment, it is advisable to set the reload-method to asynchron and for more safety the check-reload to no. --> <sitemap file="sitemap.xmap" reload-method="synchron" check-reload="yes" logger="sitemap"/> <!-- ===================== Sitemap Components =========================== --> <!-- Here defined some core Cocoon sitemap components, as File generator or XSLT transformer. Note that syntax of this file slightly differs from the syntax of <map:components> section of the sitemap.xmap file. --> <generators> <component-instance name="file" class="org.apache.cocoon.generation.FileGenerator" label="content,data" logger="sitemap.generator.file" pool-max="32" pool-min="8" pool-grow="4"/> <component-instance name="serverpages" class="org.apache.cocoon.generation.ServerPagesGenerator" label="content,data" logger="sitemap.generator.serverpages" pool-max="32" pool-min="4" pool-grow="2"/> </generators> <transformers> <component-instance name="xslt" class="org.apache.cocoon.transformation.TraxTransformer" logger="sitemap.transformer.xslt" pool-max="32" pool-min="8" pool-grow="2"> <use-request-parameters>false</use-request-parameters> <use-browser-capabilities-db>false</use-browser-capabilities-db> <use-deli>false</use-deli> </component-instance> </transformers> <serializers> <component-instance name="links" class="org.apache.cocoon.serialization.LinkSerializer" logger="sitemap.serializer.links"/> <component-instance name="xml" class="org.apache.cocoon.serialization.XMLSerializer" mime-type="text/xml" logger="sitemap.serializer.xml"/> <component-instance name="html" class="org.apache.cocoon.serialization.HTMLSerializer" mime-type="text/html" logger="sitemap.serializer.html" pool-max="32" pool-min="4" pool-grow="4"> <buffer-size>1024</buffer-size> </component-instance> </serializers> <readers> <component-instance name="resource" class="org.apache.cocoon.reading.ResourceReader" logger="sitemap.reader.resource" pool-max="32"/> </readers> <!-- <matchers/> <selectors/> <actions/> --> </cocoon>Title: Apache Tomcat/4.0.1 - Error report
Apache Tomcat/4.0.1 - HTTP Status 500 - Internal Server Error
type Exception report
message Internal Server Error
description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet execution threw an exception at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106) at java.lang.Thread.run(Thread.java:536)
root cause
java.lang.NoClassDefFoundError: uk/co/weft/maybeupload/MaybeUploadRequestWrapper at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:509) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1534) at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:852) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1273) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1156) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322) at org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:887) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106) at java.lang.Thread.run(Thread.java:536)
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, email: [EMAIL PROTECTED]