Install the following software: Apache Tomcat 5.5.x http://tomcat.apache.org/ (I had to provide on the Java tab in the Tomcat program an additional entry for the classpath (e.g., C:\Program Files\Java\jdk1.5.0_05\lib\tools.jar) to get axis working Apache Axis 1.3.x http://ws.apache.org/axis/ Apache Ant 1.6.5 http://ant.apache.org/ Apache Maven 1.x http://maven.apache.org/maven-1.x/ Apache Xerces 2.7.x http://xerces.apache.org/ JUnit 3.8.1 http://www.junit.org/ Some kind of svn client Follow the installation and setup procedures as described in the corresponding online documentation. It is a good idea to put the bi ndirectories of Ant, Tomcat en Maven into your path. I assume all your classpath settings are ok. To setup the TCP-monitor follow the instructions here: http://ws.apache.org/axis/java/user-guide.html#AppendixUsingTheAxisTCPMonitorTcpmon (The following can be done in the %AXIS_HOME%/webapps/axis/ directory) For debugging the SOAP monitor can be usefull, to be able to use it see: http://ws.apache.org/axis/java/user-guide.html#AppendixUsingTheSOAPMonitor and here http://ws.apache.org/axis/java/user-guide.html#AppendixUsingTheSOAPMonitor To administer Axis, uncomment some lines in the web.xml file in the %AXIS_HOME%/webapps/axis/WEB_INF directory. Installing a local repository for maven is done automatically during install. Checkout the Kandula repository with your svn client: svn checkout http://svn.apache.org/repos/asf/webservices/kandula/branches/Kandula_1/ Modify %KANDULA_HOME%/conf/jta.conf. The TransactionManagerGlueImpl property must be set to the fully qualified class name of the class implementing org.apache.ws.transaction.participant.j2ee.TransactionManagerGlue interface for the transaction manager that you plan to use. By default the property is set to use the sample implementation for JOTM. If you keep it like it is then this example will work. If necessary, modify %KANDULA_HOME%/conf/endpoints.conf. The properties declared here configure the numerous endpoints of the coordination service and server runtime. The default values provided assume that services are available at http://localhost:8081/axis/services/... If you use normal settings for Catalina and Axis, you do not need to modify these properties. In this example you don't need to do it. The maven repository has been changed from version 1.x to 2.x. The maven project file of Kandula, project.xml in %KANDULA_HOME%, must be changed otherwhise commons-logging-SNAPSHOT and commons-discovery-SNAPSHOT cannot be found. Under look for a with commons-logging and for a with commons-discovery. Change in both occurrences the from axis to either commons-discovery or commons-logging To build the kandula-0.1-SNAPSHOT.jar, enter maven in %KANDULA_HOME%. Copy the *j2ee*.jar, addressing.jar & jotm-*.jar files from %KANDULA_HOME%/target/lib to %CATALINA_HOME%/shared/lib, personally I copied all files from the source to the target directory. *Move* all Axis jars in %CATALINA_HOME%/webapps/axis/WEB-INF/lib to %CATALINA_HOME%/shared/lib, Do not mind files that are going to be overwritten Copy %KANDULA_HOME%/target/kandula-0.1-SNAPSHOT.jar to %CATALINA_HOME%/shared/lib. usually to get axis working you need to copy the %AXIS_HOME%/webapps/axis directory to %CATALINA_HOME%/webaps directory. I also copied are jar files from %CATALINA_HOME%/shared/lib to %CATALINA_HOME%/webapps/axis/WEB-INF/lib the server-config.wsdd file provided in %KANDULA_HOME%/conf can ve modified to allow SOAPMonitoring, just get rid of the comments in the file at the right place. Also before the next the step, edit the client-config.wsdd and remove any comments inside other comments, this will otherwise give you errors. Use the server-config.wsdd file provided in %KANDULA_HOME%/conf to deploy the services sited above. Deployment is done by using axis. (re)start tomcat to get all the new jar files loaded. run: java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService server-config.wsdd where %AXISCLASSPATH% contains something like this: AXISCLASSPATH="D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\axis.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\commons-discovery-0.2.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\commons-logging-1.0.4.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\jaxrpc.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\saaj.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\log4j-1.2.8.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\xml-apis.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\xercesImpl.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\addressing-SNAPSHOT.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\kandula-0.1-SNAPSHOT.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\wsdl4j-1.5.1.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\jotm-1.5.3.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\geronimo-spec-j2ee-1.4-rc3.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\jotm-carol-1.5.3.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\jotm-jrmp-stubs-1.5.3.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\axis-ant.jar;"D:\Program Files\Apache Software Foundation\Tomcat 5.5\shared"\lib\axis-schema.jar Use the server-config.wsdd file provided in %KANDULA_HOME%/conf to deploy Kandula and WS-Addressing handlers. Note: Kandula implementation uses reference properties that must be configured with the WS-Addressing handler as illustrated in the provided server-config.wsdd file. The global type mappings provided in %KANDULA_HOME%/conf/server-config.wsdd are used by the WS-Addressing implementation and *must be* copied to the server-config.wsdd. I copied the following part of the %KANDULA_HOME%/conf/server-config.wsdd to the %AXIS_HOME%/webapps/axis/WEB-INF/server-config.wsdd To the end in this file: .. .. .. .. .. .. .. .. SOMEWHERE HERE Copy %KANDULA_HOME%/conf/client-config.wsdd to %CATALINA_HOME%/webapps/axis/WEB-INF/classes. Modify the client-config.wsdd copied to %CATALINA_HOME%/webapps/axis/WEB-INF/classes to deploy the org.apache.ws.transaction.participant.j2ee.handler.TransactionHandler on request flow. Also remove the org.apache.ws.transaction.participant.standalone.handler.TransactionHandler used by standalone clients. The modified client-config.wsdd is shown below. ... ... ... ... To build the sample(s) enter, ant dist in %KANDULA_HOME%/src/samples This sample shows how a standalone client may access a transactional web service. To try it out, Copy the %KANDULA_HOME%/src/samples/interop/build/interop.jar to %CATALINA_HOME%/webapps/axis/WEB-INF/lib Use the deploy.wsdd in %KANDULA_HOME%/src/samples/interop to deploy the service in Axis: java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/sces/AdminService deploy.wsdd Copy the client-config.wsdd (the original without comments inside comments) from %KANDULA_HOME%/src/conf to %KANDULA_HOME%/src/samples/interop/ . ( To deploy addressing and Transaction handlers at the client side.) Stop and restart tomcat, check if everything works (are wsdl files displayable), start soapmonitor and tcp monitor: java -cp %AXISCLASSPATH% org.apache.axis.utils.tcpmon and create a listener for 8080 on 8081 Run the provided JUnit test cases by entering, ant test in %KANDULA_HOME%/src/samples/interop Do not forget to have junit.jar in your classpath, e.g.: classpath=D:\PROGRA~1\APACHE~1\JUNIT3~1.1\junit.jar