The Kaizen Blog

Attempts to continually improve in all walks of life

xReporter 1.3 : Problem and Solution

leave a comment »

For my latest project, I tried Apache’s xReporter. The instructions where pretty clear but I was unable to go past the login page.  Couple years ago (in 2004 to be precise) someone had exact same problem, but there was no clearcut solution.  But with little troubleshooting and googling, I was able to get past this problem in couple of hours. The objective of this post is to help someone in future, till xReporter updates its documentation.

The Problem is reported with much more details as XRP-110, and solution is also listed here. This is marked as duplicate of XRP-119. In case the links above are not working (and to save you the trouble of sorting through the mailing list threads, here are the problem and solution in my own words.

The configuration

  • Windows XP SP2
  • xReporter 1.3 (Cocoon 2.1.11 and phoenix 40.04 tiger, as mentioned on xReporter webpage)
  • MySQL Community Edition 5
  • Apache Tomcat 5.5

The Problem

I must say that the instructions on xReporter webpage are lengthy but precise (almost 99%). I logged in to the system, and I got following errors :

HTTP Status 400 – Invalid direct reference to form login page
Invalid direct reference to form login page
The request sent by the client was syntactically incorrect (Invalid
direct reference to form login page).

After couple of retries, or sometimes I got this:

Error concerning the user: Server configuration denies access to data source

This is exactly same problem mentioned here. But the mailing list archives provided no clue.

The Solution

Since google wasn’t of any help in the first attempt, I started my own troubleshooting, I saw a warning in the tomcat logs about security role. I further searched with this in mind, and found that it was known and resolved problem. The problem is not with xreporter software itself, but with changes in tomcat (and possibly xreporter documentation)

As mentioned in XRP-119/110, I explicitly added the following to the Tomcat 5.5\webapps\cocoon\WEB-INF\web.xml file.

<security-constraint>
    <web-resource-collection>
        <web-resource-name>XReporter</web-resource-name>
        <url-pattern>/xreporter/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>chef</role-name>
        <role-name>tester</role-name>
    </auth-constraint>
</security-constraint>

Then restarted the tomcat server, and voilà, I was greeted with xReporter default installation with default reports ready to be tested !!

Update:

Seems like xReporter webpage instructions were correct after all. It tells the user to add following entry in web.xml

    <auth-constraint>
        <role-name>everyone</role-name>
    </auth-constraint>

But I was using testconf data. The default data it populated did not have anyone assigned to role everyone, hence the web.xml needed to be modified. Here is the output from the testconf

mysql> select * from roles;
+----------+--------+
| username | role   |
+----------+--------+
| jef      | chef   |
| jules    | tester |
+----------+--------+
2 rows in set (0.00 sec)
Advertisements

Written by Mandar Vaze

October 24, 2008 at 6:15 am

Posted in Technical

Tagged with ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: