I'm trying to integrate Orbeon Forms 3.91 PE with Liferay 6.0.6. I have installed Liferay, deployed orbeon.war, orbeon-proxy-portlet.war, copied the license file and created a file-local.xml properties (as described in the wiki).
Using the Form Builder I've created a form (the default content (one input field)).
Next I've added two pages in Liferay containing the portlets forms: - one runner with my form - second form refers to a form "contact" (the default one).
After integration with my form (eg try to save form) I'm getting error:
ERROR ProcessorService - Exception at line 55, column 65 of oxf:/ops/xforms/xforms-server.xpl (reading processor output: name='response', id='xforms-response')
java.lang.NullPointerException
at org.orbeon.oxf.xforms.state.XFormsStateManager.checkUUIDInSession(XFormsStateManager.java:92)
at org.orbeon.oxf.xforms.state.XFormsStateManager.findOrRestoreDocument(XFormsStateManager.java:277)
at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:152)
at org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
at org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:88)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
at org.orbeon.oxf.processor.pipeline.TeeProcessor$TeeProcessorOutputImpl.readImpl(TeeProcessor.java:89)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
at org.orbeon.oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorImpl.java:286)
at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:315)
at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:365)
at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:330)
at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsTinyTree(ProcessorImpl.java:313)
at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:186)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)
at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:248)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)
at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:89)
at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:97)
at org.orbeon.oxf.servlet.OrbeonServletDelegate.service(OrbeonServletDelegate.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
It looks like AJAX bug and the problem sessions managing.
After moving to form "contact" and interact with it I get the error:
[file:/C:/liferay-portal-6.0.6/tomcat-6.0.29/temp/upload__1b3fa11c_1388fbc4805__7ff4_00000095.tmp|null|null|000|true|false|false|false|[false|true|false|false|false|false]]
2012-07-16 14:47:20,240 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)
at org.orbeon.oxf.xforms.state.XFormsStateManager.findOrRestoreDocument(XFormsStateManager.java:277)
at org.orbeon.oxf.xforms.processor.XFormsServer.doIt(XFormsServer.java:152)
at org.orbeon.oxf.xforms.processor.XFormsServer.access$000(XFormsServer.java:56)
at org.orbeon.oxf.xforms.processor.XFormsServer$1.readImpl(XFormsServer.java:88)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
at org.orbeon.oxf.processor.pipeline.TeeProcessor$TeeProcessorOutputImpl.readImpl(TeeProcessor.java:89)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
at org.orbeon.oxf.processor.ProcessorImpl.readInputAsSAX(ProcessorImpl.java:260)
at org.orbeon.oxf.processor.ProcessorImpl.readInputAsTinyTree(ProcessorImpl.java:286)
at org.orbeon.oxf.processor.ProcessorImpl$3.read(ProcessorImpl.java:315)
at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:365)
at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsObject(ProcessorImpl.java:330)
at org.orbeon.oxf.processor.ProcessorImpl.readCacheInputAsTinyTree(ProcessorImpl.java:313)
at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:186)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)
at org.orbeon.oxf.processor.pipeline.choose.ConcreteChooseProcessor.start(ConcreteChooseProcessor.java:248)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor$5.run(PipelineProcessor.java:664)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor.executeChildren(PipelineProcessor.java:729)
at org.orbeon.oxf.processor.pipeline.PipelineProcessor.start(PipelineProcessor.java:661)
at org.orbeon.oxf.pipeline.InitUtils.runProcessor(InitUtils.java:89)
at org.orbeon.oxf.webapp.ProcessorService.service(ProcessorService.java:97)
at org.orbeon.oxf.servlet.OrbeonServletDelegate.service(OrbeonServletDelegate.java:133)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)
Since that time, this error also appears on my form (first one).
According to Firebug header contains JSESSIONID (I can't attach images
Response:
Cache-Control private, max-age=0
Content-Length 2299
Content-Type application/xml;charset=utf-8
Date Mon, 16 Jul 2012 14:47:20 GMT
Expires Mon, 16 Jul 2012 14:47:20 GMT
Last-Modified Mon, 16 Jul 2012 14:47:20 GMT
Server Apache-Coyote/1.1
Request:
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding gzip, deflate
Accept-Language pl,en-us;q=0.7,en;q=0.3
Connection keep-alive
Content-Length 409
Content-Type application/xml; charset=UTF-8
Cookie JSESSIONID=BD09C08F33458793AB9DB94057DF7BDF; GUEST_LANGUAGE_ID=en_US; COOKIE_SUPPORT=true
Host localhost:8080
Referer http://localhost:8080/web/guest/contact
User-Agent Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1
X-Requested-With XMLHttpRequest
)
How can I fix it? (both forms from localhost: 8080/orbeon work properly).
The proxy portlet is unfortunately broken in 3.9.1. Since that release we have implemented many fixes and improvements to the portlet, and the proxy portlet should work well with Orbeon Forms 4.0 M7.