David,

From the stack trace, this appears to be a bug occurring with the instance-passing mode "forward".

If you try:

<result page="home" instance-passing="redirect"/>

Does it work?

-Erik

David Sinclair wrote:
Hi,

I am having a problem with <xforms:upload> controls. I have reproduced the problem in as simple a form as I can in the following example. I have a very simple form:

<xf:model xmlns:xf="http://www.w3.org/2002/xforms"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:xs="http://www.w3.org/2001/XMLSchema";> <xf:instance>
<form>
<action/>
<file filename="" mediatype="" size="" xsi:type="xs:anyURI"/>
</form>
</xf:instance> <xf:submission method="post" encoding="multipart/form-data"/>
</xf:model>
and an equally simple view:


<xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml"; xmlns:xxf="http://orbeon.org/oxf/xml/xforms";>
<xhtml:body>
<xf:group ref="form">
<xf:upload ref="file">
<xf:filename ref="@filename"/>
<xf:mediatype ref="@mediatype"/>
<xxf:size ref="@size"/>
</xf:upload>
<xf:submit>
<xf:label>Upload</xf:label>
<xf:setvalue ref="action">upload</xf:setvalue>
</xf:submit>
</xf:group>
</xhtml:body>
</xhtml:html>


...and the entry in my page view controller for this is:

<page id="upload-test" path-info="/upload-test.html" view="/upload-test/view.xml" xforms="/upload-test/xforms-model.xml">
<action when="/form/action = 'upload'" action="/upload-test/do-upload.xpl">
<result page="home"/> </action>
</page>


When the form is submitted the do-upload.xpl pipeline is executed okay (it puts the doc in Tamino). However, it never gets to the reuslt page as the folowing exception is thrown:
Type class org.apache.commons.fileupload.FileUploadException
Message Processing of multipart/form-data request failed. Stream closed
Stack Trace


org.apache.commons.fileupload.FileUploadException: Processing of multipart/form-data request failed. Stream closed
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:429)


at org.apache.commons.fileupload.DiskFileUpload.parseRequest(DiskFileUpload.java:245)

at org.orbeon.oxf.servlet.ServletExternalContext.getParameterMapMultipart(ServletExternalContext.java:384)

at org.orbeon.oxf.servlet.ServletExternalContext$Request.getParameterMap(ServletExternalContext.java:130)

at org.orbeon.oxf.processor.generator.RequestGenerator.addParameters(RequestGenerator.java:465)

at org.orbeon.oxf.processor.generator.RequestGenerator.readRequestAsDOM4J(RequestGenerator.java:323)

at org.orbeon.oxf.processor.generator.RequestGenerator.readWholeRequestAsDOM4J(RequestGenerator.java:303)

at org.orbeon.oxf.processor.generator.RequestGenerator.readRequestAsDOM4J(RequestGenerator.java:293)

at org.orbeon.oxf.processor.generator.RequestGenerator.access$600(RequestGenerator.java:77)

at org.orbeon.oxf.processor.generator.RequestGenerator$1.fillOutState(RequestGenerator.java:209)

at org.orbeon.oxf.processor.ProcessorImpl$DigestTransformerOutputImpl.getFilledOutState(ProcessorImpl.java:1311)

at org.orbeon.oxf.processor.ProcessorImpl$DigestTransformerOutputImpl.getLocalKey(ProcessorImpl.java:1269)

at org.orbeon.oxf.processor.ProcessorImpl$CacheableTransformerOutputImpl.getKeyImpl(ProcessorImpl.java:1213)

at org.orbeon.oxf.processor.ProcessorImpl$6.getKey(ProcessorImpl.java:949)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.getKey(ProcessorImpl.java:1113)


at org.orbeon.oxf.processor.pipeline.TeeProcessor$1.getKeyImpl(TeeProcessor.java:70)

at org.orbeon.oxf.processor.ProcessorImpl$6.getKey(ProcessorImpl.java:949)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.getKey(ProcessorImpl.java:1113)


at org.orbeon.oxf.processor.ProcessorImpl.getInputKey(ProcessorImpl.java:1123)
at org.orbeon.oxf.processor.ProcessorImpl.getInputKeyValidity(ProcessorImpl.java:1154)


at org.orbeon.oxf.processor.ProcessorImpl.isInputInCache(ProcessorImpl.java:1137)

at org.orbeon.oxf.processor.ProcessorImpl.isInputInCache(ProcessorImpl.java:1144)

at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.access$100(ConcreteChooseProcessor.java:33)

at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.getKeyImpl(ConcreteChooseProcessor.java:126)

at org.orbeon.oxf.processor.ProcessorImpl$6.getKey(ProcessorImpl.java:949)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.getKey(ProcessorImpl.java:1113)


at org.orbeon.oxf.processor.pipeline.TeeProcessor$1.getKeyImpl(TeeProcessor.java:70)

at org.orbeon.oxf.processor.ProcessorImpl$6.getKey(ProcessorImpl.java:949)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.getKey(ProcessorImpl.java:1113)


at org.orbeon.oxf.processor.ProcessorImpl.getInputKey(ProcessorImpl.java:1123)
at org.orbeon.oxf.processor.ProcessorImpl.getInputKeyValidity(ProcessorImpl.java:1154)


at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:447)

at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.java:417)

at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:163)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:618)

at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:505)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:616)

at org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControllerProcessor.java:385)

at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:91)
at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:94)
at org.orbeon.oxf.servlet.OXFServletDelegate.service(OXFServletDelegate.java:107)


at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.orbeon.oxf.servlet.OXFServlet.service(OXFServlet.java:74)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)


at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:432)

at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:356)

at org.orbeon.oxf.servlet.ServletExternalContext$Response.sendRedirect(ServletExternalContext.java:469)

at org.orbeon.oxf.processor.RedirectProcessor.start(RedirectProcessor.java:68)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:618)


at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:505)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:616)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.getInput(PipelineProcessor.java:141)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:90)

at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1106)


at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122)

at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1106)


at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:340)

at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:395)

at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:419)
at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:461)


at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.java:417)

at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:163)

at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:120)

at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1106)


at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:340)

at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:345)

at org.orbeon.oxf.processor.IdentityProcessor$1.readImpl(IdentityProcessor.java:30)

at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1106)


at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:340)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$000(PipelineProcessor.java:61)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor$2.run(PipelineProcessor.java:97)

at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:505)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor.access$100(PipelineProcessor.java:61)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor$1.readImpl(PipelineProcessor.java:95)

at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1106)


at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1.readImpl(ConcreteChooseProcessor.java:122)

at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1106)


at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:340)

at org.orbeon.oxf.processor.pipeline.TeeProcessor.access$100(TeeProcessor.java:27)

at org.orbeon.oxf.processor.pipeline.TeeProcessor$1.readImpl(TeeProcessor.java:48)

at org.orbeon.oxf.processor.ProcessorImpl$6.read(ProcessorImpl.java:945)
at org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl.read(ProcessorImpl.java:1106)


at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:340)

at org.orbeon.oxf.processor.ProcessorImpl.readInputAsDOM4J(ProcessorImpl.java:395)

at org.orbeon.oxf.processor.ProcessorImpl$4.read(ProcessorImpl.java:419)
at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:461)


at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsDOM4J(ProcessorImpl.java:417)

at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:163)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor$11.run(PipelineProcessor.java:618)

at org.orbeon.oxf.processor.ProcessorImpl.executeChildren(ProcessorImpl.java:505)

at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:616)

at org.orbeon.oxf.processor.PageFlowControllerProcessor.start(PageFlowControllerProcessor.java:385)

at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:91)
at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:94)
at org.orbeon.oxf.servlet.OXFServletDelegate.service(OXFServletDelegate.java:107)


at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.orbeon.oxf.servlet.OXFServlet.service(OXFServlet.java:74)
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:256)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)


at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:551)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2422)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)


at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)

at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)


at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)

at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:199)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)


at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)


at java.lang.Thread.run(Thread.java:536)


This doesnt happen if you dont have the result page in the page view controller.

David Sinclair.

PS,

I am using version 2.7.2 of presentation server










-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
orbeon-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/orbeon-user



------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ orbeon-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/orbeon-user

Reply via email to