0

我正在尝试将 Orbeon Forms 3.91 PE 与 Liferay 6.0.6 集成。我已经安装了 Liferay,部署了 orbeon.war,orbeon-proxy-portlet.war,复制了许可文件并创建了 file-local.xml 属性(如 wiki 中所述)。

使用表单生成器,我创建了一个表单(默认内容(一个输入字段))。

接下来,我在 Liferay 中添加了两个包含 portlets 表单的页面: - 一个运行器带有我的表单 - 第二个表单指的是“联系人”表单(默认表单)。

与我的表单集成后(例如尝试保存表单)我收到错误:

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)

它看起来像 AJAX 错误和问题会话管理。

移动以形成“联系人”并与之交互后,我收到错误消息:

[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)

从那时起,这个错误也出现在我的表单上(第一个)。

根据 Firebug 标头包含 JSESSIONID(我无法附加图像

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

)

我该如何解决?(来自 localhost: 8080/orbeon 的两种形式都可以正常工作)。

4

1 回答 1

0

不幸的是,代理 portlet 在 3.9.1 中被破坏了。自该版本以来,我们已经对 portlet 实施了许多修复和改进,并且代理 portlet 应该可以与Orbeon Forms 4.0 M7很好地配合使用。

于 2012-07-17T16:52:56.493 回答