2

在 ORBEON 4.1 中非常奇怪的 session expired 错误处理...当使用 DEV 模式时,我们得到纯文本错误页面

+----------------------------------------------------------------------------------------------------------------------+
|An Error has Occurred                                                                                                 |
|----------------------------------------------------------------------------------------------------------------------|
|Session has expired. Unable to process incoming request.                                                              |
|----------------------------------------------------------------------------------------------------------------------|
|Application Call Stack                                                                                                |
|----------------------------------------------------------------------------------------------------------------------|
|oxf:/ops/xforms/xforms-server-submit.xpl                 |  72|  51|executing processor                               |
|oxf:/ops/pfc/xforms-xml-submission.xpl                   |  50|  46|executing processor                               |
|----------------------------------------------------------------------------------------------------------------------|
|Exception: org.orbeon.oxf.common.OXFException                                                                         |
|----------------------------------------------------------------------------------------------------------------------|
|org.orbeon.oxf.xforms.state.XFormsStateManager     |extractParameters             |XFormsStateManager.java       | 403|
|org.orbeon.oxf.xforms.processor.XFormsServer       |doIt                          |XFormsServer.java             | 152|
|org.orbeon.oxf.xforms.processor.XFormsServer       |start                         |XFormsServer.java             | 100|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|run                           |PipelineProcessor.java        | 617|
|----------------------------------------------------------------------------------------------------------------------|
|Exception: org.orbeon.oxf.common.ValidationException                                                                  |
|----------------------------------------------------------------------------------------------------------------------|
|org.orbeon.oxf.common.ValidationException          |wrapException                 |ValidationException.java      | 126|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|run                           |PipelineProcessor.java        | 619|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 679|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|start                         |PipelineProcessor.java        | 614|
|org.orbeon.oxf.processor.pipeline.choose.ConcreteCh|start                         |ConcreteChooseProcessor.java  | 248|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|run                           |PipelineProcessor.java        | 617|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 679|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|start                         |PipelineProcessor.java        | 614|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|run                           |PipelineProcessor.java        | 617|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|executeChildren               |PipelineProcessor.java        | 679|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|start                         |PipelineProcessor.java        | 614|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|getInput                      |PipelineProcessor.java        | 140|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|readImpl                      |PipelineProcessor.java        |  83|
|org.orbeon.oxf.processor.impl.ProcessorOutputImpl$T|read                          |ProcessorOutputImpl.java      | 258|
|org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
|org.orbeon.oxf.processor.pipeline.choose.ConcreteCh|readImpl                      |ConcreteChooseProcessor.java  | 127|
|org.orbeon.oxf.processor.impl.ProcessorOutputImpl$T|read                          |ProcessorOutputImpl.java      | 258|
|org.orbeon.oxf.processor.impl.ProcessorOutputImpl  |read                          |ProcessorOutputImpl.java      | 404|
|org.orbeon.oxf.processor.ProcessorImpl             |readInputAsSAX                |ProcessorImpl.java            | 262|
|org.orbeon.oxf.processor.pipeline.PipelineProcessor|run                           |PipelineProcessor.java        |  92|
|---8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<--------8<---|
|org.orbeon.oxf.webapp.ProcessorService             |service                       |ProcessorService.scala        |  40|
|org.orbeon.oxf.servlet.OrbeonServlet$$anonfun$servi|apply$mcV$sp                  |OrbeonServlet.scala           |  74|
|org.orbeon.oxf.servlet.OrbeonServlet$$anonfun$servi|apply                         |OrbeonServlet.scala           |  67|
|org.orbeon.oxf.servlet.OrbeonServlet$$anonfun$servi|apply                         |OrbeonServlet.scala           |  67|
|org.orbeon.oxf.util.ScalaUtils$                    |withRootException             |ScalaUtils.scala              | 118|
|org.orbeon.oxf.servlet.OrbeonServlet               |service                       |OrbeonServlet.scala           |  67|
|javax.servlet.http.HttpServlet                     |service                       |HttpServlet.java              | 820|
|weblogic.servlet.internal.StubSecurityHelper$Servle|run                           |StubSecurityHelper.java       | 227|
|weblogic.servlet.internal.StubSecurityHelper       |invokeServlet                 |StubSecurityHelper.java       | 125|
|weblogic.servlet.internal.ServletStubImpl          |execute                       |ServletStubImpl.java          | 300|
|weblogic.servlet.internal.ServletStubImpl          |execute                       |ServletStubImpl.java          | 183|
|weblogic.servlet.internal.WebAppServletContext$Serv|doIt                          |WebAppServletContext.java     |3683|
|weblogic.servlet.internal.WebAppServletContext$Serv|run                           |WebAppServletContext.java     |3650|
|weblogic.security.acl.internal.AuthenticatedSubject|doAs                          |AuthenticatedSubject.java     | 321|
|weblogic.security.service.SecurityManager          |runAs                         |SecurityManager.java          | 121|
|weblogic.servlet.internal.WebAppServletContext     |securedExecute                |WebAppServletContext.java     |2268|
|weblogic.servlet.internal.WebAppServletContext     |execute                       |WebAppServletContext.java     |2174|
|weblogic.servlet.internal.ServletRequestImpl       |run                           |ServletRequestImpl.java       |1446|
|weblogic.work.ExecuteThread                        |execute                       |ExecuteThread.java            | 201|
|weblogic.work.ExecuteThread                        |run                           |ExecuteThread.java            | 173|
+----------------------------------------------------------------------------------------------------------------------+

应该没问题(顺便说一下它在 DEV 模式下......),但是如果我们切换到 PROD 模式,用户就会得到简单的错误发生错误而没有错误详细信息。会话超时是非常常见的错误,我们需要向用户友好的页面展示如何操作。有什么办法吗?

4

0 回答 0