Eric van der Vlist wrote:
Eric,
This exception happens when a servlet tries to read the body of a request for the second time.
You can work around this by serializing the whole request once, instead of the body, query string, parameters and headers separately:
<p:processor name="oxf:request">
<p:input name="config">
<config>
<include>/request</include>
</config>
</p:input>
<p:output name="data" id="request"/>
</p:processor>Let me know if you have other questions.
Julien
On Thu, 2004-09-16 at 22:03, Eric van der Vlist wrote:
Hmmm... I have found some explanations in the code of RequestGenerator.java:
I run into a problem when I try to test my new understanding of the situation.
What I have done is:
1) added to my page-flow:
<page path-info="/test" model="test.xpl"/>
2) created test.xpl as:
<p:config xmlns:p="http://www.orbeon.com/oxf/pipeline" xmlns:oxf="http://www.orbeon.com/oxf/processors">
<p:processor name="oxf:request"> <p:input name="config"> <config> <include>/request/body</include> <include>/request/query-string</include> <include>/request/parameters</include> <include>/request/headers</include> </config> </p:input> <p:output name="data" id="request"/> </p:processor>
<p:processor name="oxf:xml-serializer"> <p:input name="config"> <config><content-type>text/xml</content-type></config> </p:input> <p:input name="data" href="#request"/> </p:processor>
</p:config>
and test.html as:
<html> <head><title>test</title></head> <body> <form action="test" method="post" enctype="multipart/form-data"> <input name="foo"> <br> <input name="bar" type="file"> <br> <input value="send" type="submit"> </form> </body> </html>
When I submit that form, I get the following stacktrace:
Type class java.lang.IllegalStateException Message Location Line N/A Column N/A
Stack Trace Class Name
Method Name
File Name
Line Number
org.mortbay.jetty.servlet.ServletHttpRequest
getReader
ServletHttpRequest.java
679
org.orbeon.oxf.servlet.ServletExternalContext$Request
getReader
ServletExternalContext.java
208
org.orbeon.oxf.processor.generator.RequestGenerator
readRequestAsDOM4J
RequestGenerator.java
237
org.orbeon.oxf.processor.generator.RequestGenerator
access$500
RequestGenerator.java
77
org.orbeon.oxf.processor.generator.RequestGenerator$1
getFilledOutState
RequestGenerator.java
202
org.orbeon.oxf.processor.generator.RequestGenerator$1
getKeyImpl
RequestGenerator.java
183
org.orbeon.oxf.processor.ProcessorImpl$6
getKey
ProcessorImpl.java
932
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
getKey
ProcessorImpl.java
1073
org.orbeon.oxf.processor.ProcessorImpl
readCacheInputAsObject
ProcessorImpl.java
452
org.orbeon.oxf.processor.serializer.HttpSerializer
start
HttpSerializer.java
111
org.orbeon.oxf.processor.pipeline.PipelineProcessor$11
run
PipelineProcessor.java
608
org.orbeon.oxf.processor.ProcessorImpl
executeChildren
ProcessorImpl.java
514
org.orbeon.oxf.processor.pipeline.PipelineProcessor
start
PipelineProcessor.java
606
org.orbeon.oxf.processor.pipeline.PipelineProcessor$11
run
PipelineProcessor.java
608
org.orbeon.oxf.processor.ProcessorImpl
executeChildren
ProcessorImpl.java
514
org.orbeon.oxf.processor.pipeline.PipelineProcessor
start
PipelineProcessor.java
606
org.orbeon.oxf.processor.pipeline.PipelineProcessor$1
getInput
PipelineProcessor.java
141
org.orbeon.oxf.processor.pipeline.PipelineProcessor$1
readImpl
PipelineProcessor.java
90
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1
readImpl
ConcreteChooseProcessor.java
121
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
342
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
347
org.orbeon.oxf.processor.IdentityProcessor$1
readImpl
IdentityProcessor.java
30
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
342
org.orbeon.oxf.processor.pipeline.PipelineProcessor
access$000
PipelineProcessor.java
61
org.orbeon.oxf.processor.pipeline.PipelineProcessor$2
run
PipelineProcessor.java
97
org.orbeon.oxf.processor.ProcessorImpl
executeChildren
ProcessorImpl.java
514
org.orbeon.oxf.processor.pipeline.PipelineProcessor
access$100
PipelineProcessor.java
61
org.orbeon.oxf.processor.pipeline.PipelineProcessor$1
readImpl
PipelineProcessor.java
95
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
342
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
347
org.orbeon.oxf.processor.NullSerializer
start
NullSerializer.java
30
org.orbeon.oxf.processor.pipeline.PipelineProcessor$11
run
PipelineProcessor.java
608
org.orbeon.oxf.processor.ProcessorImpl
executeChildren
ProcessorImpl.java
514
org.orbeon.oxf.processor.pipeline.PipelineProcessor
start
PipelineProcessor.java
606
org.orbeon.oxf.processor.pipeline.PipelineProcessor$1
getInput
PipelineProcessor.java
141
org.orbeon.oxf.processor.pipeline.PipelineProcessor$1
readImpl
PipelineProcessor.java
90
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1
readImpl
ConcreteChooseProcessor.java
121
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
342
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
347
org.orbeon.oxf.processor.IdentityProcessor$1
readImpl
IdentityProcessor.java
30
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
342
org.orbeon.oxf.processor.pipeline.PipelineProcessor
access$000
PipelineProcessor.java
61
org.orbeon.oxf.processor.pipeline.PipelineProcessor$2
run
PipelineProcessor.java
97
org.orbeon.oxf.processor.ProcessorImpl
executeChildren
ProcessorImpl.java
514
org.orbeon.oxf.processor.pipeline.PipelineProcessor
access$100
PipelineProcessor.java
61
org.orbeon.oxf.processor.pipeline.PipelineProcessor$1
readImpl
PipelineProcessor.java
95
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor$1
readImpl
ConcreteChooseProcessor.java
121
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
342
org.orbeon.oxf.processor.pipeline.TeeProcessor
access$100
TeeProcessor.java
27
org.orbeon.oxf.processor.pipeline.TeeProcessor$1
readImpl
TeeProcessor.java
48
org.orbeon.oxf.processor.ProcessorImpl$6
read
ProcessorImpl.java
928
org.orbeon.oxf.processor.ProcessorImpl$ProcessorOutputImpl
read
ProcessorImpl.java
1066
org.orbeon.oxf.processor.ProcessorImpl
readInputAsSAX
ProcessorImpl.java
342
org.orbeon.oxf.processor.ProcessorImpl
readInputAsDOM4J
ProcessorImpl.java
397
org.orbeon.oxf.processor.ProcessorImpl$4
read
ProcessorImpl.java
421
org.orbeon.oxf.processor.ProcessorImpl
readCacheInputAsObject
ProcessorImpl.java
468
org.orbeon.oxf.processor.ProcessorImpl
readCacheInputAsDOM4J
ProcessorImpl.java
419
org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor
start
ConcreteChooseProcessor.java
162
org.orbeon.oxf.processor.pipeline.PipelineProcessor$11
run
PipelineProcessor.java
608
org.orbeon.oxf.processor.ProcessorImpl
executeChildren
ProcessorImpl.java
514
org.orbeon.oxf.processor.pipeline.PipelineProcessor
start
PipelineProcessor.java
606
org.orbeon.oxf.processor.PageFlowControllerProcessor
start
PageFlowControllerProcessor.java
383
org.orbeon.oxf.pipeline.InitUtils
runProcessor
InitUtils.java
88
org.orbeon.oxf.servlet.ProcessorService
service
ProcessorService.java
141
org.orbeon.oxf.servlet.OXFServlet
service
OXFServlet.java
97
javax.servlet.http.HttpServlet
service
HttpServlet.java
853
org.mortbay.jetty.servlet.ServletHolder
handle
ServletHolder.java
354
org.mortbay.jetty.servlet.WebApplicationHandler
dispatch
WebApplicationHandler.java
294
org.mortbay.jetty.servlet.ServletHandler
handle
ServletHandler.java
567
org.mortbay.http.HttpContext
handle
HttpContext.java
1808
org.mortbay.jetty.servlet.WebApplicationContext
handle
WebApplicationContext.java
525
org.mortbay.http.HttpContext
handle
HttpContext.java
1758
org.mortbay.http.HttpServer
service
HttpServer.java
879
org.mortbay.http.HttpConnection
service
HttpConnection.java
790
org.mortbay.http.HttpConnection
handleNext
HttpConnection.java
952
org.mortbay.http.HttpConnection
handle
HttpConnection.java
807
org.mortbay.http.SocketListener
handleConnection
SocketListener.java
197
org.mortbay.util.ThreadedServer
handle
ThreadedServer.java
289
org.mortbay.util.ThreadPool$PoolThread
run
ThreadPool.java
501
Is that a known issue?
Thanks,
Eric
------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php _______________________________________________ orbeon-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/orbeon-user
