头图

Sometimes, when we visit the demo page that comes with the orbeon form, such as the url: http://localhost:8080/orbeon/fr/orbeon/controls/new

You will encounter an error message:

403 error:

Log file location:

https://stackoverflow.com/questions/15402931/unauthorized-orbeon-form-error

When you receive unexpected behavior (such as an error message from Form Builder or when running a form), you can usually find more information about the cause of the error in the Orbeon Forms log file (commonly called orbeon.log). To check this log:
Find the location of your orbeon.log. Out of the box, it is written in ../logs/orbeon.log, relative to the current directory when you started the servlet container or application server. For example, if you start Tomcat from the bin directory, the log files will be located in Tomcat's log directory. If you can’t find orbeon.log, or want to create it in another location, please edit WEB-INF/resouces/config/log4j.xml in Orbeon Forms, find SingleFileAppender, and then enter \<param name= "File" value= "../logs/orbeon.log"/\> Replace ../logs/orbeon.log with the location where you want to store orbeon.log. It is usually a good idea to use absolute paths, such as /opt/tomcat/logs/orbeon.log.

Analysis of some log fragments:

2021-12-18 10:18:12,169 INFO ProcessorService - Context listener - Context initialized.
2021-12-18 10:18:12,192 INFO form-runner-auth - initializing
2021-12-18 10:18:12,196 INFO form-runner-auth - configuring: FilterSettings(None)
2021-12-18 10:18:12,200 INFO limiter - initializing

This context listener looks like a Java thing.

The ContextListener class is the default context listener class that instantiates ApplicationContext objects. Register this class in web.xml so that it can be called when the JSP/Java Servlet application starts.

2021-12-18 10:18:19,491 INFO ProcessorService - Servlet initialized.

A servlet is a small Java program that runs on a Web server. Servlet receives and responds to requests from Web clients, usually via HTTP (Hypertext Transfer Protocol). The servlet handles any calls from the client to the service method.

2021-12-18 10:18:19,532 INFO lifecycle - event: {"request": "1", "source": "limiter", "message": "start: chain", "path": "/fr/orbeon/controls/new", "method": "GET", "wait": "0"}

This shows that the client initiated a GET request to open the newly created data form.

2021-12-18 10:18:19,572 INFO ProcessorService - Session listener - Session created.

When the session object changes, HttpSessionEvent will be notified. The listener interface corresponding to this event is HttpSessionListener. We can perform some operations in this event, such as counting the total number and currently logged in users, and maintaining a log of user detailed information such as login time and logout time.

2021-12-18 10:18:19,625 INFO lifecycle - event: {"request": "1", "session": "FF9852F8D7883C80F1F8D8ADA1231ADC", "source": "service", "message": "start: handle"}

Generate the first session and end with ADC.

2021-12-18 10:18:19,625 INFO ProcessorService - /fr/orbeon/controls/new - Received request
2021-12-18 10:18:21,810 INFO lifecycle - event: {"request": "2", "session": "FF9852F8D7883C80F1F8D8ADA1231ADC", "source": "service", "message": "start: handle", "path": "/fr/service/persistence/crud/orbeon/controls/form/form.xhtml", "method": "GET"}

Read the form.xhtml file under orbeon/controls/form.

More original articles by Jerry, all in: "Wang Zixi":


注销
1k 声望1.6k 粉丝

invalid