Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

Marek Pomocka
Hello,
I use Orbeon Forms with Liferay 6.0.6 (6.0 GA4 March 2011) and tried
upgrading from Orbeon nightly build 201010261225 to Orbeon 3.9 RC1. (I
undeployed previous orbeon.war and dropped new orbeon.war to liferay
deploy dir. I also tried with pristine Liferay bundle.)

XForms user interface loads, but XForms controls do not respond. After
clicking a random XForms control, I can see the following exception in
Orbeon logs

2011-03-30 09:21:48,840 ERROR ProcessorService  - Exception at line
55, column 65 of oxf:/ops/xforms/xforms-server.xpl (reading processor
output: name='response', id='xforms-response')
org.orbeon.oxf.common.OXFException: Session has expired. Unable to
process incoming request.
        at org.orbeon.oxf.xforms.state.XFormsStateManager.checkUUIDInSession(XFormsStateManager.java:94)

I already tried cleaning cookies and browser cache.

To reproduce the bug, create a portlet with the following code

Portlet with this doView method (view.xhtml is any XForms code):

public void doView(
       RenderRequest renderRequest, RenderResponse renderResponse)
   throws IOException, PortletException {
       renderResponse.setContentType("text/html;charset=UTF-8");
   PrintWriter out = renderResponse.getWriter();
   try {
       File includeFile = new
File(getPortletContext().getRealPath("/view.xhtml"));
       FileReader includeFileReader = new FileReader(includeFile);
       PrintWriter respWriter = out;
       int byteInt;
       while ((byteInt = includeFileReader.read()) != -1) {
           respWriter.write(byteInt);
       }
   } finally {
       out.close();
   }
}

in portlet.xml

<filter>
    <filter-name>orbeon-forms-portlet-xforms-filter</filter-name>
    <filter-class>org.orbeon.oxf.portlet.OrbeonPortletXFormsFilter</filter-class>
    <lifecycle>RENDER_PHASE</lifecycle>
    <lifecycle>ACTION_PHASE</lifecycle>
    <lifecycle>RESOURCE_PHASE</lifecycle>
</filter>

 <!-- Map the Orbeon portlet XForms filter -->
<filter-mapping>
   <filter-name>orbeon-forms-portlet-xforms-filter</filter-name>
   <portlet-name>docdetailsportlet</portlet-name>
</filter-mapping>

in web.xml:

<servlet>
   <servlet-name>orbeon-trampoline-servlet</servlet-name>
   <servlet-class>org.orbeon.oxf.portlet.OrbeonTrampolineServlet</servlet-class>
   <init-param>
       <param-name>oxf.xforms.renderer.context</param-name>
       <param-value>/orbeon</param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>orbeon-trampoline-servlet</servlet-name>
   <url-pattern>/xforms-trampoline</url-pattern>
</servlet-mapping>

Regards,
Marek


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

Erik Bruchez
Administrator
Marek,

It seems like something we need to try to reproduce. I will add this
to my list of tasks.

-Erik

On Wed, Mar 30, 2011 at 2:23 AM, Marek Pomocka <[hidden email]> wrote:

> Hello,
> I use Orbeon Forms with Liferay 6.0.6 (6.0 GA4 March 2011) and tried
> upgrading from Orbeon nightly build 201010261225 to Orbeon 3.9 RC1. (I
> undeployed previous orbeon.war and dropped new orbeon.war to liferay
> deploy dir. I also tried with pristine Liferay bundle.)
>
> XForms user interface loads, but XForms controls do not respond. After
> clicking a random XForms control, I can see the following exception in
> Orbeon logs
>
> 2011-03-30 09:21:48,840 ERROR ProcessorService  - Exception at line
> 55, column 65 of oxf:/ops/xforms/xforms-server.xpl (reading processor
> output: name='response', id='xforms-response')
> org.orbeon.oxf.common.OXFException: Session has expired. Unable to
> process incoming request.
>        at org.orbeon.oxf.xforms.state.XFormsStateManager.checkUUIDInSession(XFormsStateManager.java:94)
>
> I already tried cleaning cookies and browser cache.
>
> To reproduce the bug, create a portlet with the following code
>
> Portlet with this doView method (view.xhtml is any XForms code):
>
> public void doView(
>       RenderRequest renderRequest, RenderResponse renderResponse)
>   throws IOException, PortletException {
>       renderResponse.setContentType("text/html;charset=UTF-8");
>   PrintWriter out = renderResponse.getWriter();
>   try {
>       File includeFile = new
> File(getPortletContext().getRealPath("/view.xhtml"));
>       FileReader includeFileReader = new FileReader(includeFile);
>       PrintWriter respWriter = out;
>       int byteInt;
>       while ((byteInt = includeFileReader.read()) != -1) {
>           respWriter.write(byteInt);
>       }
>   } finally {
>       out.close();
>   }
> }
>
> in portlet.xml
>
> <filter>
>    <filter-name>orbeon-forms-portlet-xforms-filter</filter-name>
>    <filter-class>org.orbeon.oxf.portlet.OrbeonPortletXFormsFilter</filter-class>
>    <lifecycle>RENDER_PHASE</lifecycle>
>    <lifecycle>ACTION_PHASE</lifecycle>
>    <lifecycle>RESOURCE_PHASE</lifecycle>
> </filter>
>
>  <!-- Map the Orbeon portlet XForms filter -->
> <filter-mapping>
>   <filter-name>orbeon-forms-portlet-xforms-filter</filter-name>
>   <portlet-name>docdetailsportlet</portlet-name>
> </filter-mapping>
>
> in web.xml:
>
> <servlet>
>   <servlet-name>orbeon-trampoline-servlet</servlet-name>
>   <servlet-class>org.orbeon.oxf.portlet.OrbeonTrampolineServlet</servlet-class>
>   <init-param>
>       <param-name>oxf.xforms.renderer.context</param-name>
>       <param-value>/orbeon</param-value>
>   </init-param>
>   <load-on-startup>1</load-on-startup>
> </servlet>
> <servlet-mapping>
>   <servlet-name>orbeon-trampoline-servlet</servlet-name>
>   <url-pattern>/xforms-trampoline</url-pattern>
> </servlet-mapping>
>
> Regards,
> Marek
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

Marek Pomocka-2
Thank you Erik.

Regards,
Marek

2011/4/1 Erik Bruchez <[hidden email]>:

> Marek,
>
> It seems like something we need to try to reproduce. I will add this
> to my list of tasks.
>
> -Erik
>
> On Wed, Mar 30, 2011 at 2:23 AM, Marek Pomocka <[hidden email]> wrote:
>> Hello,
>> I use Orbeon Forms with Liferay 6.0.6 (6.0 GA4 March 2011) and tried
>> upgrading from Orbeon nightly build 201010261225 to Orbeon 3.9 RC1. (I
>> undeployed previous orbeon.war and dropped new orbeon.war to liferay
>> deploy dir. I also tried with pristine Liferay bundle.)
>>
>> XForms user interface loads, but XForms controls do not respond. After
>> clicking a random XForms control, I can see the following exception in
>> Orbeon logs
>>
>> 2011-03-30 09:21:48,840 ERROR ProcessorService  - Exception at line
>> 55, column 65 of oxf:/ops/xforms/xforms-server.xpl (reading processor
>> output: name='response', id='xforms-response')
>> org.orbeon.oxf.common.OXFException: Session has expired. Unable to
>> process incoming request.
>>        at org.orbeon.oxf.xforms.state.XFormsStateManager.checkUUIDInSession(XFormsStateManager.java:94)
>>
>> I already tried cleaning cookies and browser cache.
>>
>> To reproduce the bug, create a portlet with the following code
>>
>> Portlet with this doView method (view.xhtml is any XForms code):
>>
>> public void doView(
>>       RenderRequest renderRequest, RenderResponse renderResponse)
>>   throws IOException, PortletException {
>>       renderResponse.setContentType("text/html;charset=UTF-8");
>>   PrintWriter out = renderResponse.getWriter();
>>   try {
>>       File includeFile = new
>> File(getPortletContext().getRealPath("/view.xhtml"));
>>       FileReader includeFileReader = new FileReader(includeFile);
>>       PrintWriter respWriter = out;
>>       int byteInt;
>>       while ((byteInt = includeFileReader.read()) != -1) {
>>           respWriter.write(byteInt);
>>       }
>>   } finally {
>>       out.close();
>>   }
>> }
>>
>> in portlet.xml
>>
>> <filter>
>>    <filter-name>orbeon-forms-portlet-xforms-filter</filter-name>
>>    <filter-class>org.orbeon.oxf.portlet.OrbeonPortletXFormsFilter</filter-class>
>>    <lifecycle>RENDER_PHASE</lifecycle>
>>    <lifecycle>ACTION_PHASE</lifecycle>
>>    <lifecycle>RESOURCE_PHASE</lifecycle>
>> </filter>
>>
>>  <!-- Map the Orbeon portlet XForms filter -->
>> <filter-mapping>
>>   <filter-name>orbeon-forms-portlet-xforms-filter</filter-name>
>>   <portlet-name>docdetailsportlet</portlet-name>
>> </filter-mapping>
>>
>> in web.xml:
>>
>> <servlet>
>>   <servlet-name>orbeon-trampoline-servlet</servlet-name>
>>   <servlet-class>org.orbeon.oxf.portlet.OrbeonTrampolineServlet</servlet-class>
>>   <init-param>
>>       <param-name>oxf.xforms.renderer.context</param-name>
>>       <param-value>/orbeon</param-value>
>>   </init-param>
>>   <load-on-startup>1</load-on-startup>
>> </servlet>
>> <servlet-mapping>
>>   <servlet-name>orbeon-trampoline-servlet</servlet-name>
>>   <url-pattern>/xforms-trampoline</url-pattern>
>> </servlet-mapping>
>>
>> Regards,
>> Marek
>>
>>
>> --
>> You receive this message as a subscriber of the [hidden email] mailing list.
>> To unsubscribe: mailto:[hidden email]
>> For general help: mailto:[hidden email]?subject=help
>> OW2 mailing lists service home page: http://www.ow2.org/wws
>>
>>
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

lacco
Is there any progress on this topic? I have the same error (with a different stack trace) when migrating my application from 3.8 to 3.9 . I deleted all cookies and session data in tomcat, but when using form builder or any of my forms I get the following error:

2011-06-03 11:49:09,029 INFO  ProcessorService  - /xforms-server - Received request
2011-06-03 11:49:09,043 ERROR ProcessorService  - Exception at line 55, column 65 of oxf:/ops/xforms/xforms-server.xpl (reading processor output: name='response', id='xforms-response')
org.orbeon.oxf.common.OXFException: Session has expired. Unable to process incoming request.
        at org.orbeon.oxf.xforms.state.XFormsStateManager.extractParameters(XFormsStateManager.java:402)
        at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:153)
        at org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
        at org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:88)

Any ideas? Perhaps it is a configuration issue? My configuration: https://gist.github.com/37155281b8d2b71eb487
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

Ralf Jung
Hi lacco,

Maybe that's too obvious, but did you try
- Restarting tomcat?
- Removing all Cookies and whatnot in the Browser and restarting it?
I remember I had similar issues directly after the update which were caused by
old data still being used by the browser.

Also, you mention 3.9 RC in the subject - version 3.9 final has been released
in the mean time. Sorry if this is a leftover from an old thread and you've
long done this, I couldn't find it in my local archive of this mailing list
(dating 50 days back).

Kind regards,
Ralf Jung

Am Freitag 03 Juni 2011, um 12:10:19 schrieb lacco:

> Is there any progress on this topic? I have the same error (with a
> different stack trace) when migrating my application from 3.8 to 3.9 . I
> deleted all cookies and session data in tomcat, but when using form
> builder or any of my forms I get the following error:
>
> 2011-06-03 11:49:09,029 INFO  ProcessorService  - /xforms-server - Received
> request
> 2011-06-03 11:49:09,043 ERROR ProcessorService  - Exception at line 55,
> column 65 of oxf:/ops/xforms/xforms-server.xpl (reading processor output:
> name='response', id='xforms-response')
> org.orbeon.oxf.common.OXFException: Session has expired. Unable to process
> incoming request.
> at
> org.orbeon.oxf.xforms.state.XFormsStateManager.extractParameters(XFormsStat
> eManager.java:402) at
> org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:153)
> at
> org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:5
> 6) at
> org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:8
> 8)
>
> Any ideas? Perhaps it is a configuration issue? My configuration:
> https://gist.github.com/37155281b8d2b71eb487
>
> --
> View this message in context:
> http://orbeon-forms-ops-users.24843.n4.nabble.com/Upgrading-to-Orbeon-Form
> s-3-9-RC1-Session-has-expired-Unable-to-process-incoming-request-tp3417569p
> 3570456.html Sent from the Orbeon Forms (ops-users) mailing list archive at
> Nabble.com.


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

lacco
In fact, I did restart my tomcat several times and clear all browser data, I even used different browsers. This thread's title is outdated - I am on 3.9. Any other ideas?
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

Tambet Matiisen
On 3.06.2011 16:20, lacco wrote:
> In fact, I did restart my tomcat several times and clear all browser data, I
> even used different browsers. This thread's title is outdated - I am on 3.9.
> Any other ideas?
>

I recently had the same error in Weblogic and resolved it with Orbeon
assistance (thanks Alex). As a result the instructions for workarounds
for this error were added to wiki:
http://wiki.orbeon.com/forms/doc/developer-guide/xforms-with-java-applications#TOC-Session-handling

Wording of your error appears to be exactly the same, as in the code
referenced from wiki. So I suppose, the same code is triggering your
error and the same workarounds apply. I never had this error under
Tomcat, so I don't know any easy solution, like there was for Weblogic.

Regards,
Tambet


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

Erik Bruchez
Administrator
In reply to this post by lacco
Iacco,

The original question was a specific issue with Liferay, so you must
be hitting something different.

-Erik

On Fri, Jun 3, 2011 at 3:10 AM, lacco <[hidden email]> wrote:

> Is there any progress on this topic? I have the same error (with a different
> stack trace) when migrating my application from 3.8 to 3.9 . I deleted all
> cookies and session data in tomcat, but when using form builder or any of my
> forms I get the following error:
>
> 2011-06-03 11:49:09,029 INFO  ProcessorService  - /xforms-server - Received
> request
> 2011-06-03 11:49:09,043 ERROR ProcessorService  - Exception at line 55,
> column 65 of oxf:/ops/xforms/xforms-server.xpl (reading processor output:
> name='response', id='xforms-response')
> org.orbeon.oxf.common.OXFException: Session has expired. Unable to process
> incoming request.
>        at
> org.orbeon.oxf.xforms.state.XFormsStateManager.extractParameters(XFormsStateManager.java:402)
>        at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:153)
>        at
> org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
>        at
> org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:88)
>
> Any ideas? Perhaps it is a configuration issue? My configuration:
> https://gist.github.com/37155281b8d2b71eb487
>
> --
> View this message in context: http://orbeon-forms-ops-users.24843.n4.nabble.com/Upgrading-to-Orbeon-Forms-3-9-RC1-Session-has-expired-Unable-to-process-incoming-request-tp3417569p3570456.html
> Sent from the Orbeon Forms (ops-users) mailing list archive at Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

lacco
I think I have to do a (hopefully short) debugging session to understand the problem. Which branch/tag/commit do I have to checkout if I want the "Orbeon Forms 3.9.0 CE"-version which is downloadable from the website?
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

Erik Bruchez
Administrator
Iacco,

https://github.com/orbeon/orbeon-forms/tree/tag-release-3.9.0-ce

-Erik

On Tue, Jun 7, 2011 at 5:42 AM, lacco <[hidden email]> wrote:

> I think I have to do a (hopefully short) debugging session to understand the
> problem. Which branch/tag/commit do I have to checkout if I want the "Orbeon
> Forms 3.9.0 CE"-version which is downloadable from the website?
>
> --
> View this message in context: http://orbeon-forms-ops-users.24843.n4.nabble.com/Upgrading-to-Orbeon-Forms-3-9-RC1-Session-has-expired-Unable-to-process-incoming-request-tp3417569p3579460.html
> Sent from the Orbeon Forms (ops-users) mailing list archive at Nabble.com.
>
>
> --
> You receive this message as a subscriber of the [hidden email] mailing list.
> To unsubscribe: mailto:[hidden email]
> For general help: mailto:[hidden email]?subject=help
> OW2 mailing lists service home page: http://www.ow2.org/wws
>
>


--
You receive this message as a subscriber of the [hidden email] mailing list.
To unsubscribe: mailto:[hidden email]
For general help: mailto:[hidden email]?subject=help
OW2 mailing lists service home page: http://www.ow2.org/wws
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

lacco
I finally found the problem, yay! With orbeon 3.9, the client state handling has been removed so that I had to care about the JSESSIONID. Now, all works, thx!
lxn
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

lxn
Issue is fixed. Great. But when do we get the fix?
Reply | Threaded
Open this post in threaded view
|

Re: Re: Re: Re: Upgrading to Orbeon Forms 3.9 RC1 — Session has expired. Unable to process incoming request.

Alessandro  Vernet
Administrator
lxn,

What lacco means is that starting with 3.9, Orbeon Forms checks  the JSESSIONID. The JSESSIONID sent to the browser when the form was generated must be the same as the one coming back later with the Ajax requests. This is done to deal with the following situation: user has 2 windows (or tabs) open, logs out from the app in the first window; then later someone else comes and clicks on the second window which was left untouched; we wouldn't want those actions (Ajax requests) to succeed, as the user logged out.

Alex
--
Follow Orbeon on Twitter: @orbeon
Follow me on Twitter: @avernet