2013-03-14 138 views
0

我正在使用orbeon xform引擎作为与我的Java应用程序分开部署。我遵循单独部署所需的所有步骤,但在实现使用Orbeon的xfroms时出现以下错误:未授权Orbeon表单错误

“Orbeon Forms - 未授权 您无权访问此页面。

里面的tomcat orbeon日志文件时,它显示以下错误:

392 INFO ProcessorService - Context listener - Context initialized. 
522 INFO ProcessorService - Servlet initialized. 
724 INFO ProcessorService - /xforms-renderer - Received request 
192 INFO PageFlowControllerProcessor - unauthorized {controller: "oxf:/ops/xforms/xforms-renderer-page-flow.xml", method: "POST", path: "/xforms-renderer", status-code: "403"} 
205 INFO ProcessorService - /xforms-renderer - Timing: 2465 

我用的RequestDispatcher在我的servlet转发我的要求所需的XForm

ServletContext context= getServletContext(); 
RequestDispatcher rd= context.getRequestDispatcher("/xforms-jsp/orbeon/form.jsp"); 
rd.forward(request, response); 

我能够呈现xfrom同时实施作为综合部署。

可以指导我出错的地方。

谢谢!

+0

您正在使用哪个版本的Orbeon Forms? – avernet 2013-03-14 22:24:10

+0

我使用Orbeon Forms的Community Edition 4.0.0版。 – user2075538 2013-03-15 06:33:35

回答

0

如果您使用的是separate deployment,则应在您的web.xml中使用Orbeon servlet过滤器,并且您不需要在自己的代码中使用RequestDispatcher。我现在用4.0重新检查了这一点,以验证它是否有效。 (我想知道是什么导致您相信您需要使用您自己的RequestDispatcher,因为在单独的部署文档中我没有看到这方面的任何内容。)

但请注意,由于this issue,现在您还需要在您的HTML的<body>上添加orbeon类,否则正确的样式将不适用。这只是暂时的,当这个问题被解决时,这个班级会自动添加。

+0

我在我的web.xml文件中添加了Orbeon servlet过滤器。但是,你能解释我怎样才能将我的xform从我的java应用程序发送到orBon以及其他RequestDispatcher方法。 – user2075538 2013-03-18 06:14:36

+0

servlet过滤器为您做到这一点:它将您servlet的输出,使其通过Orbeon Forms,并将结果发送到浏览器。 – avernet 2013-03-18 17:08:53