Apache Beehive Web Service Metadata (WSM) Project Welcome to the WSM project! WSM is an implementation of the JSR-181 specification which defines a metadata grammar that can be applied to a Java source file to easily define a POJO as a web service. Beehive WSM attempts to provide generalized support for processing JSR-181 annotations. WSM also provides bindings for running a POJO as a web service on the following web service containers: - Axis 1.3+ It is theoretically possible to add additional bindings here such as Axis2 or JAX-RPC web service generation. It is also possible to add support for custom web service annotations for security, asynchrony, state management, etc. Note, WSM *is not* a SOAP stack. It is simply an infrastructure for using Java 5 metadata to describe a WSDL from a POJO. ========== Building ========== To build WSM, install the following software: Ant 1.6.x Maven 2.0.2+ Tomcat 5.0.x The build calls Maven from Ant to download the dependencies listed in pom.xml and uses Ant for compilation, testing, and generating documentation. A typical build process looks like: $> ant clean build install The "build" step builds the various WSM JAR files. The "install" step will install the WSM JARs into your local Maven2 repository with the groupId "org.apache.beehive" and the relevant artifactIds for the various JARs. The "clean" step removes the build/ directory that contained all of the generated sources, compiled class files, and build JARs. Note, this does *not* remove JARs that may have been installed in your local Maven2 repository during the "install" step. ========== Testing ========== The WSM test suite consists of two parts -- a JUnit part for API testing and a web application for testing against Axis2. In order to run the web application, Tomcat must be installed locally and configured so the Tomcat deployment APIs can be used from the command line. To install and configure Tomcat, follow these steps: 1) Install Tomcat 5.x or higher 2) Set CATALINA_HOME to point to this directory 3) Edit $CATALINA_HOME/conf/tomcat-users.xml to configure the "manager" role with: The manager role's default username/password is manager/manager and this is currently not configurable. Disclaimer, don't go into production with this role enabled using this (rather naive) username/password combination. :)