XMLTester Demo Download Docs Discussion Contact us 
XMLTester Installation
Before you begin
Before you install XMLTester, you will need to install and configure following software on your system:
Required
  • JDK 1.3 or above So far XMLTester has been shown to work with the Sun JDK 1.3.1 on RedHat Linux 7.0. If you get it working in another environment (e.g. Windoze, Mac, Solaris, JDK 1.4), please drop us a line and tell us what problems you resolved and how.
  • Xindice (XML:DB compliant database) 1.0 or above
    You should verify that you are able to access Xindice using the "xindice" and "xindiceadmin" command line clients. Try at least to store a document and retrieve it from the database. If you use a port other than 4080 for Xindice, make a note of it. You will need it below! Note that Xindice can be cleanly shutdown using the xindiceadmin client.
  • XMLBlaster (messaging framework) 0.79f or above
    You should verify that you are able to start and stop XMLBlaster, and connect to it with some of the demo programs. XMLBlaster is very smart about selecting from available protocols to use (e.g. CORBA, XML-RPC), but most of our testing has been done over CORBA connections. If you want to secure the connections to XMLBlaster, you will need to create xmlBlaster.properties and xmlBlaster.htpasswd files in your home directory. You can look in template/dist/etc for some examples of these files. Currently the java code in net.peruser.msg.XBConnection expects to login with user="peruser" pass="peruser". This code needs to be fixed! (See the peruser bug at sourceforge.net #651163). In the meantime, if you feel a burning need to close this hole, you can edit and recompile the class to match your xmlBlaster.htpasswd file.
    Note that XMLBlaster can be shutdown cleanly using the telnet client (which requires that security be setup).
  • Ant (java/XML build tool) 1.5.0 or above
    Ant is used both to build the XMLTester, and to install it onto your system. Ensure that the $ANTHOME variable is set in your enviornment, and that $ANTHOME/bin is on your command $PATH.
Download and unpack
Download the XMLTester distribution from sourceforge.
Use "gunzip" and "tar" to unpack this archive on unix platforms. On other platforms, use the appropriate archive tools.
The contents of the archive are NOT the final location of your installed XMLTester system. So you should probably unpack the archive into a temporary directory.
Configure and install
Suppose you have unpacked into a directory called "/install/xmltester", and you want to install into a directory called "/app/xmltester" on a machine called "yourserver".
You should now edit the file /install/xmltester/build.xml to customize the installation process for your machine. This is an ant build file which is responsible for installing and configuring the xmltester application.
The properties you will NEED to edit are:
  • install.dir - directory where XMLTester will be installed ("/app/xmltester")
  • java.home.dir - Your JDK directory (same as $JAVAHOME)
  • xindice.home.dir - The directory where Xindice is installed (e.g. "/app/xindice")
  • xmltester.host - The hostname where XMLTester will run ("yourserver")
  • xmlblaster.host - The hostname where XMLBlaster is running ("yourserver")
  • xindice.host - The hostname where Xindice is running ("yourserver")
  • xindice.port - The port where Xindice is running (usually 4080)
  • peruser.http.port - The port where XMLTester will run (usually 8123)
You will also want to edit the usernames and passwords found in "/install/xmltester/template/security/xmltester_demo_realm.properties", although you can also edit these in "/app/xmltester/security/xmltester_demo_realm.properties" after installation. To create encrypted passwords, you can run the program
java org.mortbay.util.Password
Note that there is also some SSL support in the server (you can login and fetch any URL via SSL), but some of the other enhancements to make this feature fully useful are not yet complete. If you want to enable https support, see the file /install/xmltester/template/dist/etc/xmltester_web_config.xml, which contains instructions for using a real or phony set of keys.
When you are finished, you can perform the installation with the single command:
ant install If you find that you made some mistakes, the surest fix is to remove the entire target ("/app/xmltester"), and run "ant install" again.
Initialize database contents
Now we need to initialize the structure of the Xindice database, and populate it with our demo test cases. This is done by running a script that calls xindiceadmin.
  • "cd" to the /app/xmltester directory (or wherever you installed)
  • Setup your environment with (assuming you use bash)
    . bin/env.bash
  • Initialize the database by running
    bin/init_db.bash
Start the server
Okay, we're ready to give it a shot!
  • "cd" to the /app/xmltester directory
  • Setup your environment with (assuming you use bash)
    . bin/env.bash
  • Start the XMLTester server with
    bin/run_xmltester.bash
    (This will run the xmltester as a background process)
  • Start the "Driver" for the XSLT conformance demo with
    bin/run_xslt_conform_driver.bash
    (This will start another background process for the driver)
The PIDs for these processes are stored in the /app/xmltester/pids directory. You can use these PIDs to kill the XMLTester server and the XSLT conformance driver. Alternatively, you can run these two processes in the foreground with
  • bin/xmltester.bash
  • bin/xslt_conform_driver.bash
...in two separate windows. Then you can kill these processes with Ctrl-C when necessary.
Connect to the server
Now start up a web browser, and connect to
http://yourserver:8123
(Assuming you did not change the value of peruser.http.port from it's default of 8123)
The welcome page should appear, and you should be able to login using any username/password combo attached to the role "regular-user". As mentioned above, these passwords are configured in "/app/xmltester/security/xmltester_demo_realm.properties".
(By default, user="demo" pass="demo" should work).
After login, you can freely browse and run the test cases.