Hi! I've got problems to upload a xml to cocoon. I want to transfer a file with a simple <input type="file" name="antrag" /> and suffer a NullPointerException.
The Exception is only visible with activated debug-filter. But when the debug filter is deactivated, the upload doesn't work either. I work with a snapshot-release of last night with an applied patch to AbstractProcessingPipeline.java (reenabled environment.setStatus(HttpServletResponse.SC_OK); ) OS: Win XP SP2 Server: Jetty Does anybody have an idea where to search? regards Martin. --- snip --- HTTP ERROR: 500 INTERNAL_SERVER_ERROR RequestURI=/showantrag Caused by: java.lang.NullPointerException at org.apache.cocoon.servlet.multipart.PartOnDisk.toString(PartOnDisk.java:89) at org.apache.cocoon.servlet.multipart.MultipartHttpServletRequest.getParameterValues(MultipartHttpServletRequest.java:153) at org.apache.cocoon.servlet.DebugFilter.doFilter(DebugFilter.java:120) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1045) at org.apache.cocoon.servlet.multipart.MultipartFilter.doFilter(MultipartFilter.java:140) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1045) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:358) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:231) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:629) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:453) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:149) at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:123) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:141) at org.mortbay.jetty.Server.handle(Server.java:303) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:452) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:735) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:636) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:349) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:320) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475) --- snap --- These are the cocoon logs: --- snip --- btpool0-2 DEBUG request.RequestContextListener - Bound request context to thread: POST /showantrag HTTP/1.1 Host: localhost:8888 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://localhost:8888/index.html Content-Type: multipart/form-data; boundary=---------------------------7181888329450 Content-Length: 66839 btpool0-2 DEBUG cocoon - Deleting uploaded file(s). btpool0-2 DEBUG request.RequestContextListener - Cleared thread-bound request context: POST /showantrag HTTP/1.1 Host: localhost:8888 User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3 Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://localhost:8888/index.html Content-Type: multipart/form-data; boundary=---------------------------7181888329450 Content-Length: 66839 --- snap --- Here is the sitemap: --- snip --- <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0"> <map:components> <map:generators default="file"> <!-- use the new implementation of JX --> <map:generator name="jx" src="org.apache.cocoon.template.JXTemplateGenerator"/> </map:generators> </map:components> <map:pipelines> <map:pipeline> <map:match pattern="index.html"> <map:generate src="index.html" /> <map:serialize type="xhtml"/> </map:match> <map:match pattern="showantrag"> <map:generate type="stream"> <map:parameter name="form-name" value="antrag" /> </map:generate> <map:serialize type="xml"/> </map:match> </map:pipeline> </map:pipelines> </map:sitemap> --- snap --- And the properties: --- snip --- # Causes all files in multipart requests to be processed. # Default is true but the maximum allowed size is kept small for security reasons. # Unsupported values will be interpreted as false. org.apache.cocoon.uploads.enable=true # This parameter allows to specify where Cocoon should put uploaded files. # The path specified can be either absolute or relative to the context # path of the servlet. On windows platform, absolute directory must start # with volume: C:\Path\To\Upload\Directory # # The default directory is "upload-dir" in the work-directory #org.apache.cocoon.uploads.directory=d:/temp/cocoonuploads # Causes all files in multipart requests to be saved to upload-dir. # Default is true for security reasons. # Unsupported values will be interpreted as false. org.apache.cocoon.uploads.autosave=true # Specify handling of name conflicts when saving uploaded files to disk. # Acceptable values are deny, allow, rename (default). Files are renamed # x_filename where x is an integer value incremented to make the new # filename unique. org.apache.cocoon.uploads.overwrite=rename # Specify maximum allowed size of the upload. Defaults to 10 Mb. # Set here to a very low 100 kb to allow samples to run. #org.apache.cocoon.uploads.maxsize=100000000 --- snap --- And finally the html-form: --- snip --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>Antragsvorschau</title> </head> <body> <h1>Antragsvorschau</h1> <form action="showantrag" enctype="multipart/form-data" method="post"> <table summary="" border="0"> <tbody> <tr> <td><label title="Bitte wÃhlen Sie die Antragsdatei aus" for="antrag" class="forms upload active required">Antrag</label></td> <td><span title="Bitte wÃhlen Sie die Antragsdatei aus"><input title="Bitte wÃhlen Sie die Antragsdatei aus" name="antrag" id="antrag" type="file" /> * </span></td> </tr> <tr> <td colspan="2"><input type="submit" /></td> </tr> </tbody> </table> </form> </body> </html> --- snap --- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]