Index: /trunk/autoquest-httpmonitor-test/.classpath
===================================================================
--- /trunk/autoquest-httpmonitor-test/.classpath	(revision 1389)
+++ /trunk/autoquest-httpmonitor-test/.classpath	(revision 1390)
@@ -2,4 +2,17 @@
 <classpath>
 	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry including="**/*.java" kind="src" path="src/main/resources"/>
+	<classpathentry kind="src" output="target/classes" path="src/main/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+			<attribute name="maven.pomderived" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" output="target/classes" path="target/generated-sources/cxf">
 		<attributes>
 			<attribute name="optional" value="true"/>
Index: /trunk/autoquest-httpmonitor-test/pom.xml
===================================================================
--- /trunk/autoquest-httpmonitor-test/pom.xml	(revision 1389)
+++ /trunk/autoquest-httpmonitor-test/pom.xml	(revision 1390)
@@ -19,6 +19,61 @@
     <properties>
         <tested-artifactId>autoquest-httpmonitor</tested-artifactId>
+        <tomcat.version>7.0.34</tomcat.version>
     </properties>
     <dependencies>
+        <dependency>
+            <groupId>org.apache.tomcat.embed</groupId>
+            <artifactId>tomcat-embed-core</artifactId>
+            <version>${tomcat.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat.embed</groupId>
+            <artifactId>tomcat-embed-logging-juli</artifactId>
+            <version>${tomcat.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat.embed</groupId>
+            <artifactId>tomcat-embed-jasper</artifactId>
+            <version>${tomcat.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-jasper</artifactId>
+            <version>${tomcat.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-jasper-el</artifactId>
+            <version>${tomcat.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-jsp-api</artifactId>
+            <version>${tomcat.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.cxf</groupId>
+            <artifactId>cxf-rt-frontend-jaxws</artifactId>
+            <version>2.7.7</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+            <version>3.1.4.RELEASE</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.security</groupId>
+            <artifactId>spring-security-web</artifactId>
+            <version>3.1.4.RELEASE</version>
+            <scope>test</scope>
+        </dependency>
         <dependency>
             <groupId>org.apache.httpcomponents</groupId>
@@ -27,4 +82,87 @@
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.eclipse.jetty</groupId>
+            <artifactId>jetty-webapp</artifactId>
+            <version>9.1.0.M0</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.cxf</groupId>
+                <artifactId>cxf-codegen-plugin</artifactId>
+                <version>2.7.7</version>
+                <executions>
+                    <execution>
+                        <id>generate-sources</id>
+                        <phase>generate-sources</phase>
+                        <configuration>
+                            <wsdlOptions>
+                                <wsdlOption>
+                                    <wsdl>${basedir}/src/main/resources/DummyService.wsdl</wsdl>
+                                    <wsdlLocation>classpath:DummyService.wsdl</wsdlLocation>
+                                    <extraargs>
+                                        <extraarg>-impl</extraarg>
+                                    </extraargs>
+                                </wsdlOption>
+                            </wsdlOptions>
+                        </configuration>
+                        <goals>
+                            <goal>wsdl2java</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-war-plugin</artifactId>
+                <version>2.1</version>
+                <executions>
+                    <execution>
+                        <id>dummyServiceWarGeneration</id>
+                        <phase>process-test-classes</phase>
+                        <configuration>
+                            <webXml>${basedir}/src/main/webapp/WEB-INF/web.xml</webXml>
+                            <outputDirectory>${project.build.directory}/test/tomcat/webapp</outputDirectory>
+                            <warName>dummyService</warName>
+                        </configuration>
+                        <goals>
+                            <goal>war</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no 
+                    influence on the Maven build itself. -->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>org.apache.maven.plugins</groupId>
+                                        <artifactId>maven-war-plugin</artifactId>
+                                        <versionRange>[2.1,)</versionRange>
+                                        <goals>
+                                            <goal>war</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore></ignore>
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
 </project>
Index: /trunk/autoquest-httpmonitor-test/src/main/java/de/ugoe/cs/autoquest/httpmonitor/DummyServiceImpl.java
===================================================================
--- /trunk/autoquest-httpmonitor-test/src/main/java/de/ugoe/cs/autoquest/httpmonitor/DummyServiceImpl.java	(revision 1390)
+++ /trunk/autoquest-httpmonitor-test/src/main/java/de/ugoe/cs/autoquest/httpmonitor/DummyServiceImpl.java	(revision 1390)
@@ -0,0 +1,51 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+package de.ugoe.cs.autoquest.httpmonitor;
+
+import dummyservice.DummyServicePortTypeImpl;
+import dummyservice.SynStatus;
+import dummyservice.UserInfo;
+import dummyservice.VerifyUserInMsgType;
+import dummyservice.VerifyUserOutMsgType;
+
+/**
+ * <p>
+ * Dummy implementation of a SOAP service for testing
+ * </p>
+ * 
+ * @author Patrick Harms
+ */
+public class DummyServiceImpl extends DummyServicePortTypeImpl {
+
+    /* (non-Javadoc)
+     * @see eu.midas_project.enduser.api.identityandauthenticationservice_wsdl.IdentityAndAuthPortTypeImpl#verifyUser(eu.midas_project.enduser.api.identityandauthenticationtypes.VerifyUserInMsgType)
+     */
+    @Override
+    public VerifyUserOutMsgType verifyUser(VerifyUserInMsgType content) {
+        System.out.println("DummyServiceImpl.verifyUser");
+
+        VerifyUserOutMsgType result = new VerifyUserOutMsgType();
+        result.setMsg("OK");
+        result.setStatus(SynStatus.DONE);
+        UserInfo userInfo = new UserInfo();
+        userInfo.setUsername("dummyUser");
+        userInfo.setIsAdmin(true);
+        userInfo.setFullname("Dummy User");
+        userInfo.setEmail("dummy.user@midas_project.eu");
+        result.setUserInfo(userInfo);
+        return result;
+    }
+
+}
Index: /trunk/autoquest-httpmonitor-test/src/main/resources/DummyService.wsdl
===================================================================
--- /trunk/autoquest-httpmonitor-test/src/main/resources/DummyService.wsdl	(revision 1390)
+++ /trunk/autoquest-httpmonitor-test/src/main/resources/DummyService.wsdl	(revision 1390)
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions name="DummyService" targetNamespace="DummyService" xmlns:iat="DummyService" xmlns:tns="DummyService" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+	<wsdl:types>
+		<xs:schema targetNamespace="DummyService" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:iat="DummyService" elementFormDefault="qualified" attributeFormDefault="unqualified">
+			<xs:simpleType name="UserName">
+				<xs:restriction base="xs:string"/>
+			</xs:simpleType>
+			<xs:simpleType name="UserEmailAddress">
+				<xs:restriction base="xs:string">
+					<xs:pattern value="^([0-9a-zA-Z]([\-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][\-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$"/>
+				</xs:restriction>
+			</xs:simpleType>
+			<xs:simpleType name="UserFullName">
+				<xs:restriction base="xs:string"/>
+			</xs:simpleType>
+			<xs:simpleType name="UserPassword">
+				<xs:restriction base="xs:string"/>
+			</xs:simpleType>
+			<xs:simpleType name="DeclineMsg">
+				<xs:restriction base="xs:string"/>
+			</xs:simpleType>
+			<xs:simpleType name="SynStatus">
+				<xs:restriction base="xs:NCName">
+					<xs:enumeration value="done"/>
+					<xs:enumeration value="decline"/>
+					<xs:enumeration value="drop"/>
+					<xs:enumeration value="fail"/>
+				</xs:restriction>
+			</xs:simpleType>
+			<xs:simpleType name="BasicStatus">
+				<xs:restriction base="xs:NCName">
+					<xs:enumeration value="done"/>
+					<xs:enumeration value="drop"/>
+					<xs:enumeration value="fail"/>
+				</xs:restriction>
+			</xs:simpleType>
+
+			<xs:complexType name="UserInfo">
+				<xs:sequence>
+					<xs:element name="username" type="iat:UserName"/>
+					<xs:element name="fullname" type="iat:UserFullName"/>
+					<xs:element name="email" type="iat:UserEmailAddress"/>
+					<xs:element name="isAdmin" type="xs:boolean"/>
+				</xs:sequence>
+			</xs:complexType>
+
+			<xs:complexType name="ListOfUserInfos">
+				<xs:sequence>
+					<xs:element name="user" type="iat:UserInfo" minOccurs="0" maxOccurs="unbounded"/>
+				</xs:sequence>
+			</xs:complexType>
+
+			<xs:element name="CreateUserIn" type="iat:CreateUserInMsgType"/>
+			<xs:complexType name="CreateUserInMsgType">
+				<xs:sequence>
+					<xs:element name="userFullName" type="iat:UserFullName"/>
+					<xs:element name="userEmail" type="iat:UserEmailAddress"/>
+					<xs:element name="username" type="iat:UserName"/>
+					<xs:element name="pwd" type="iat:UserPassword"/>
+				</xs:sequence>
+			</xs:complexType>
+
+			<xs:element name="CreateUserOut" type="iat:CreateUserOutMsgType"/>
+			<xs:complexType name="CreateUserOutMsgType">
+				<xs:sequence>
+					<xs:element name="status" type="iat:SynStatus"/>
+					<xs:element name="msg" type="iat:DeclineMsg" minOccurs="0"/>
+				</xs:sequence>
+			</xs:complexType>
+
+			<xs:element name="DeleteUserIn" type="iat:DeleteUserInMsgType"/>
+			<xs:complexType name="DeleteUserInMsgType">
+				<xs:sequence>
+					<xs:element name="username" type="iat:UserName"/>
+				</xs:sequence>
+			</xs:complexType>
+
+			<xs:element name="DeleteUserOut" type="iat:DeleteUserOutMsgType"/>
+			<xs:complexType name="DeleteUserOutMsgType">
+				<xs:sequence>
+					<xs:element name="status" type="iat:SynStatus"/>
+					<xs:element name="msg" type="iat:DeclineMsg" minOccurs="0"/>
+				</xs:sequence>
+			</xs:complexType>
+
+			<xs:element name="ListUsersIn" type="iat:ListUsersInMsgType"/>
+			<xs:complexType name="ListUsersInMsgType">
+			<xs:sequence/>
+			</xs:complexType>
+
+			<xs:element name="ListUsersOut" type="iat:ListUsersOutMsgType"/>
+			<xs:complexType name="ListUsersOutMsgType">
+				<xs:sequence>
+					<xs:element name="userInfos" type="iat:ListOfUserInfos" />
+					<xs:element name="status" type="iat:BasicStatus"/>
+					<xs:element name="msg" type="iat:DeclineMsg" minOccurs="0"/>
+				</xs:sequence>
+			</xs:complexType>
+
+			<xs:element name="VerifyUserIn" type="iat:VerifyUserInMsgType"/>
+			<xs:complexType name="VerifyUserInMsgType">
+				<xs:sequence>
+					<xs:element name="username" type="iat:UserName"/>
+					<xs:element name="pwd" type="iat:UserPassword"/>
+				</xs:sequence>
+			</xs:complexType>
+
+			<xs:element name="VerifyUserOut" type="iat:VerifyUserOutMsgType"/>
+			<xs:complexType name="VerifyUserOutMsgType">
+				<xs:sequence>
+					<xs:element name="status" type="iat:SynStatus"/>
+					<xs:element name="msg" type="iat:DeclineMsg" minOccurs="0"/>
+                    <xs:element name="userInfo" type="iat:UserInfo" minOccurs="0"/>
+				</xs:sequence>
+			</xs:complexType>
+
+		</xs:schema>
+	</wsdl:types>
+
+	<wsdl:message name="CreateUserInMsg">
+		<wsdl:part name="content" element="iat:CreateUserIn"/>
+	</wsdl:message>
+	<wsdl:message name="CreateUserOutMsg">
+		<wsdl:part name="content" element="iat:CreateUserOut"/>
+	</wsdl:message>
+
+	<wsdl:message name="DeleteUserInMsg">
+		<wsdl:part name="content" element="iat:DeleteUserIn"/>
+	</wsdl:message>
+	<wsdl:message name="DeleteUserOutMsg">
+		<wsdl:part name="content" element="iat:DeleteUserOut"/>
+	</wsdl:message>
+
+	<wsdl:message name="ListUsersInMsg">
+		<wsdl:part name="content" element="iat:ListUsersIn"/>
+	</wsdl:message>
+	<wsdl:message name="ListUsersOutMsg">
+		<wsdl:part name="content" element="iat:ListUsersOut"/>
+	</wsdl:message>
+
+	<wsdl:message name="VerifyUserInMsg">
+		<wsdl:part name="content" element="iat:VerifyUserIn"/>
+	</wsdl:message>
+	<wsdl:message name="VerifyUserOutMsg">
+		<wsdl:part name="content" element="iat:VerifyUserOut"/>
+	</wsdl:message>
+
+	<wsdl:portType name="DummyServicePortType">
+		<wsdl:operation name="createUser">
+			<wsdl:input name="CreateUserInMsg" message="tns:CreateUserInMsg"/>
+			<wsdl:output name="CreateUserOutMsg" message="tns:CreateUserOutMsg"/>
+		</wsdl:operation>
+		<wsdl:operation name="deleteUser">
+			<wsdl:input name="DeleteUserInMsg" message="tns:DeleteUserInMsg"/>
+			<wsdl:output name="DeleteUserOutMsg" message="tns:DeleteUserOutMsg"/>
+		</wsdl:operation>
+		<wsdl:operation name="listUsers">
+			<wsdl:input name="ListUsersInMsg" message="tns:ListUsersInMsg"/>
+			<wsdl:output name="ListUsersOutMsg" message="tns:ListUsersOutMsg"/>
+		</wsdl:operation>
+		<wsdl:operation name="verifyUser">
+			<wsdl:input name="VerifyUserInMsg" message="tns:VerifyUserInMsg"/>
+			<wsdl:output name="VerifyUserOutMsg" message="tns:VerifyUserOutMsg"/>
+		</wsdl:operation>
+	</wsdl:portType>
+
+	<wsdl:binding name="DummyServiceSOAPBinding" type="tns:DummyServicePortType">
+		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+		<wsdl:operation name="createUser">
+			<soap:operation style="document"/>
+			<wsdl:input name="CreateUserInMsg">
+				<soap:body use="literal"/>
+			</wsdl:input>
+			<wsdl:output name="CreateUserOutMsg">
+				<soap:body use="literal"/>
+			</wsdl:output>
+		</wsdl:operation>
+		<wsdl:operation name="deleteUser">
+			<soap:operation style="document"/>
+			<wsdl:input name="DeleteUserInMsg">
+				<soap:body use="literal"/>
+			</wsdl:input>
+			<wsdl:output name="DeleteUserOutMsg">
+				<soap:body use="literal"/>
+			</wsdl:output>
+		</wsdl:operation>
+		<wsdl:operation name="listUsers">
+			<soap:operation style="document"/>
+			<wsdl:input name="ListUsersInMsg">
+				<soap:body use="literal"/>
+			</wsdl:input>
+			<wsdl:output name="ListUsersOutMsg">
+				<soap:body use="literal"/>
+			</wsdl:output>
+		</wsdl:operation>
+		<wsdl:operation name="verifyUser">
+			<soap:operation style="document"/>
+			<wsdl:input name="VerifyUserInMsg">
+				<soap:body use="literal"/>
+			</wsdl:input>
+			<wsdl:output name="VerifyUserOutMsg">
+				<soap:body use="literal"/>
+			</wsdl:output>
+		</wsdl:operation>
+	</wsdl:binding>
+
+	<wsdl:service name="DummyService">
+		<wsdl:port name="DummyServiceSOAPPort" binding="tns:DummyServiceSOAPBinding">
+			<soap:address location="DummyServiceSOAPPort"/>
+		</wsdl:port>
+	</wsdl:service>
+</wsdl:definitions>
Index: /trunk/autoquest-httpmonitor-test/src/main/webapp/WEB-INF/cxf-servlet.xml
===================================================================
--- /trunk/autoquest-httpmonitor-test/src/main/webapp/WEB-INF/cxf-servlet.xml	(revision 1390)
+++ /trunk/autoquest-httpmonitor-test/src/main/webapp/WEB-INF/cxf-servlet.xml	(revision 1390)
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
+	xmlns:soap="http://cxf.apache.org/bindings/soap"
+	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+                          http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd
+                          http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
+
+	<!-- Modify here your code, in order to adjust it to your service implementation -->
+
+	<import resource="classpath:META-INF/cxf/cxf.xml" />
+	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
+
+	<jaxws:endpoint id="DummyServiceSOAPPort"
+		implementor="de.ugoe.cs.autoquest.httpmonitor.DummyServiceImpl"
+		address="/DummyServiceSOAPPort">
+    </jaxws:endpoint>
+
+
+</beans>
Index: /trunk/autoquest-httpmonitor-test/src/main/webapp/WEB-INF/web.xml
===================================================================
--- /trunk/autoquest-httpmonitor-test/src/main/webapp/WEB-INF/web.xml	(revision 1390)
+++ /trunk/autoquest-httpmonitor-test/src/main/webapp/WEB-INF/web.xml	(revision 1390)
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements. See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership. The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License. You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied. See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
+         http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+    <display-name>cxf</display-name>
+
+    <servlet>
+        <description>Apache CXF Endpoint</description>
+        <display-name>cxf</display-name>
+        <servlet-name>cxf</servlet-name>
+        <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>cxf</servlet-name>
+        <url-pattern>/*</url-pattern>
+    </servlet-mapping>
+
+    <session-config>
+        <session-timeout>60</session-timeout>
+    </session-config>
+</web-app>
Index: /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/AbstractTC.java
===================================================================
--- /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/AbstractTC.java	(revision 1389)
+++ /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/AbstractTC.java	(revision 1390)
@@ -22,4 +22,6 @@
 import java.util.logging.Level;
 
+import org.apache.catalina.Context;
+import org.apache.catalina.startup.Tomcat;
 import org.apache.http.HttpEntity;
 import org.apache.http.HttpResponse;
@@ -30,7 +32,4 @@
 import org.apache.http.entity.StringEntity;
 import org.apache.http.impl.client.DefaultHttpClient;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
 import org.junit.After;
 import org.junit.Before;
@@ -56,10 +55,15 @@
      * 
      */
-    protected static final int PORT = 19098;
-    
-    /**
-     * the jetty web server used for receiving messages
-     */
-    private Server dummyServer;
+    protected static final int DUMMY_SERVER_PORT = 19098;
+    
+    /**
+     * 
+     */
+    protected static final int PROXY_PORT = 19099;
+    
+    /**
+     * 
+     */
+    protected static final int MONITOR_PORT = 19100;
     
     /**
@@ -67,4 +71,7 @@
      */
     private DummyServlet dummyServlet;
+    
+    /** */
+    private static Tomcat tomcat = new Tomcat();
 
     /**
@@ -74,13 +81,34 @@
     public void setUp() throws Exception {
         // setup a simple HTTP server
-        dummyServer = new Server(PORT + 1);
+        dummyServlet = new DummyServlet();
+        
+        /*dummyServer = new Server(DUMMY_SERVER_PORT);
         
         ServletContextHandler root =
-            new ServletContextHandler(dummyServer, "/", ServletContextHandler.SESSIONS);
-
-        dummyServlet = new DummyServlet();
+            new ServletContextHandler(dummyServer, "/dummyServer", ServletContextHandler.SESSIONS);
+
+        
         root.addServlet(new ServletHolder(dummyServlet), "/*");
-        
-        dummyServer.start();
+       
+        dummyServer.start();*/
+        
+        File tomcatDir = new File("target/test/tomcat");
+        File webappRootDir = new File(tomcatDir, "webapp");
+        
+        tomcat = new Tomcat();
+        tomcat.setPort(DUMMY_SERVER_PORT);
+        tomcat.setBaseDir(tomcatDir.getAbsolutePath());
+
+        File warFile = new File(webappRootDir, "dummyService.war");
+        tomcat.addWebapp("/dummyWebapp", warFile.getAbsolutePath());
+        System.out.println("configuring Dummy Service from " + warFile.getAbsolutePath());
+        
+        File servletRootDir = new File(tomcatDir, "servlet");
+        servletRootDir.mkdirs();
+        Context ctx = tomcat.addContext("/", servletRootDir.getAbsolutePath());
+        Tomcat.addServlet(ctx, "dummyServlet", dummyServlet);
+        ctx.addServletMapping("/dummyServlet", "dummyServlet");
+        
+        tomcat.start();
         
         setUpHook();
@@ -103,10 +131,12 @@
         tearDownHook();
 
-        if (dummyServer != null) {
+        if (tomcat != null) {
             try {
-                dummyServer.stop();
+                tomcat.stop();
+                tomcat.getServer().await();
+                tomcat.destroy();
             }
             finally {
-                dummyServer = null;
+                tomcat = null;
             }
         }
@@ -133,16 +163,17 @@
         
         if ("POST".equals(type)) {
-            httpRequest = new HttpPost("http://localhost:" + PORT + "/");
+            httpRequest = new HttpPost("http://localhost:" + PROXY_PORT + "/dummyServlet");
             HttpEntity entity = new StringEntity(message, ContentType.TEXT_PLAIN);
             ((HttpPost) httpRequest).setEntity(entity);
         }
         else if ("GET".equals(type)) {
-            httpRequest = new HttpGet("http://localhost:" + PORT + "/");
+            httpRequest = new HttpGet("http://localhost:" + PROXY_PORT + "/dummyServlet");
         }
         
         try {
             HttpResponse response = httpclient.execute(httpRequest);
+            System.err.println(response.getStatusLine());
             String responseStr = readStreamContentToString(response.getEntity().getContent());
-            System.err.println("received response: " + message);
+            System.err.println("received response: " + responseStr);
             return responseStr;
         }
Index: /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/HttpMonitorTest.java
===================================================================
--- /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/HttpMonitorTest.java	(revision 1389)
+++ /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/HttpMonitorTest.java	(revision 1390)
@@ -94,5 +94,5 @@
     @Test
     public void test_SimulatedSession_MonitorOnly() throws Exception {
-        monitor = new HttpMonitor(new String[] { LOG_FILE_DIR, PORT +"" });
+        monitor = new HttpMonitor(new String[] { LOG_FILE_DIR, MONITOR_PORT + "" });
 
         monitor.init();
@@ -155,5 +155,5 @@
     @Test
     public void test_SimpleText_ProxyAndMonitor() throws Exception {
-        monitor = new HttpMonitor(new String[] { LOG_FILE_DIR, (PORT + 2) + "" });
+        monitor = new HttpMonitor(new String[] { LOG_FILE_DIR, MONITOR_PORT + "" });
 
         monitor.init();
@@ -161,6 +161,6 @@
 
         proxy = new HttpMonitoringProxy
-            (new String[] { LOG_FILE_DIR, PORT +"",
-                            "localhost:" + (PORT + 1), "localhost:" + (PORT + 2) });
+            (new String[] { LOG_FILE_DIR, PROXY_PORT + "",
+                            "localhost:" + DUMMY_SERVER_PORT, "localhost:" + MONITOR_PORT });
 
         proxy.init();
@@ -216,5 +216,5 @@
     @Test
     public void test_XMLMessage_ProxyAndMonitor() throws Exception {
-        monitor = new HttpMonitor(new String[] { LOG_FILE_DIR, (PORT + 2) + "" });
+        monitor = new HttpMonitor(new String[] { LOG_FILE_DIR, MONITOR_PORT + "" });
 
         monitor.init();
@@ -222,6 +222,6 @@
 
         proxy = new HttpMonitoringProxy
-            (new String[] { LOG_FILE_DIR, PORT +"",
-                            "localhost:" + (PORT + 1), "localhost:" + (PORT + 2) });
+            (new String[] { LOG_FILE_DIR, PROXY_PORT + "",
+                            "localhost:" + DUMMY_SERVER_PORT, "localhost:" + MONITOR_PORT });
 
         proxy.init();
@@ -315,5 +315,5 @@
         
         for (HttpExchange exchange : exchanges) {
-            HttpPost httpRequest = new HttpPost("http://localhost:" + PORT + "/");
+            HttpPost httpRequest = new HttpPost("http://localhost:" + MONITOR_PORT + "/");
             
             JAXBContext jaxbContext =
Index: /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/HttpMonitoringProxyTest.java
===================================================================
--- /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/HttpMonitoringProxyTest.java	(revision 1389)
+++ /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/HttpMonitoringProxyTest.java	(revision 1390)
@@ -20,4 +20,5 @@
 import java.io.IOException;
 import java.io.StringReader;
+import java.net.URL;
 import java.util.Collection;
 import java.util.Iterator;
@@ -32,4 +33,5 @@
 import javax.xml.bind.JAXBElement;
 import javax.xml.bind.Unmarshaller;
+import javax.xml.namespace.QName;
 
 import org.eclipse.jetty.server.Server;
@@ -37,4 +39,8 @@
 import org.eclipse.jetty.servlet.ServletHolder;
 import org.junit.Test;
+
+import dummyservice.ObjectFactory;
+import dummyservice.VerifyUserInMsgType;
+import dummyservice.VerifyUserOutMsgType;
 
 import de.ugoe.cs.autoquest.eventcore.Event;
@@ -45,4 +51,6 @@
 import de.ugoe.cs.autoquest.plugin.http.eventcore.HTTPEventType;
 import de.ugoe.cs.autoquest.plugin.http.eventcore.HTTPTarget;
+import dummyservice.DummyService;
+import dummyservice.DummyServicePortType;
 
 /**
@@ -73,5 +81,5 @@
         messages = new LinkedList<String>();
         
-        dummyMonitor = new Server(PORT + 2);
+        dummyMonitor = new Server(MONITOR_PORT);
         ServletContextHandler root =
             new ServletContextHandler(dummyMonitor, "/", ServletContextHandler.SESSIONS);
@@ -113,5 +121,6 @@
     public void test_SimpleText_Local() throws Exception {
         proxy = new HttpMonitoringProxy
-            (new String[] { LOG_FILE_DIR, PORT +"", "localhost:" + (PORT + 1), "local" });
+            (new String[] { LOG_FILE_DIR, PROXY_PORT + "", "localhost:" + DUMMY_SERVER_PORT,
+                            "local" });
 
         proxy.init();
@@ -155,6 +164,6 @@
     public void test_SimpleText_Remote() throws Exception {
         proxy = new HttpMonitoringProxy
-            (new String[] { LOG_FILE_DIR, PORT +"",
-                            "localhost:" + (PORT + 1), "localhost:" + (PORT + 2) });
+            (new String[] { LOG_FILE_DIR, PROXY_PORT + "",
+                            "localhost:" + DUMMY_SERVER_PORT, "localhost:" + MONITOR_PORT });
 
         proxy.init();
@@ -190,5 +199,6 @@
     public void test_XMLMessage_Local() throws Exception {
         proxy = new HttpMonitoringProxy
-            (new String[] { LOG_FILE_DIR, PORT +"", "localhost:" + (PORT + 1), "local" });
+            (new String[] { LOG_FILE_DIR, PROXY_PORT + "", "localhost:" + DUMMY_SERVER_PORT,
+                            "local" });
 
         proxy.init();
@@ -265,6 +275,6 @@
     public void test_XMLMessage_Remote() throws Exception {
         proxy = new HttpMonitoringProxy
-            (new String[] { LOG_FILE_DIR, PORT +"",
-                            "localhost:" + (PORT + 1), "localhost:" + (PORT + 2) });
+            (new String[] { LOG_FILE_DIR, PROXY_PORT + "",
+                            "localhost:" + DUMMY_SERVER_PORT, "localhost:" + MONITOR_PORT });
 
         proxy.init();
@@ -330,4 +340,110 @@
     }
     
+    @Test
+    public void test_SOAP_Local() throws Exception {
+        proxy = new HttpMonitoringProxy
+            (new String[] { LOG_FILE_DIR, PROXY_PORT + "", "localhost:" + DUMMY_SERVER_PORT,
+                            "local" });
+
+        proxy.init();
+        proxy.start();
+
+        DummyService service = new DummyService
+            (new URL("http://localhost:" + PROXY_PORT + "/dummyWebapp/DummyServiceSOAPPort?wsdl"),
+             new QName("DummyService", "DummyService"));
+
+        DummyServicePortType dummyService = service.getDummyServiceSOAPPort();
+        
+        ObjectFactory factory = new ObjectFactory();
+        VerifyUserInMsgType request = factory.createVerifyUserInMsgType();
+        VerifyUserOutMsgType response = dummyService.verifyUser(request);
+
+        assertNotNull(response);
+        
+        proxy.stop();
+        proxy = null;
+
+        File logFile = new File(LOG_FILE_DIR + File.separator + "httpmonitor_000.log");
+        
+        assertTrue(logFile.exists());
+        
+        HTTPLogParser parser = new HTTPLogParser();
+
+        parser.parseFile(logFile);
+
+        // check the sequences
+        Collection<List<Event>> sequences = parser.getSequences();
+
+        assertNotNull(sequences);
+
+        Iterator<List<Event>> iterator = sequences.iterator();
+        assertTrue(iterator.hasNext());
+
+        List<Event> sequence = iterator.next();
+        assertFalse(iterator.hasNext());
+
+        assertNotNull(sequence);
+        assertEquals(2, sequence.size());
+
+        assertEvent(sequence.get(0), "GET", null, null); // get WSDL
+        assertEvent(sequence.get(1), "POST", null, null); // send request
+    }
+    
+    @SuppressWarnings("unchecked")
+    @Test
+    public void test_SOAP_Remote() throws Exception {
+        proxy = new HttpMonitoringProxy
+            (new String[] { LOG_FILE_DIR, PROXY_PORT + "", "localhost:" + DUMMY_SERVER_PORT,
+                            "localhost:" + MONITOR_PORT  });
+
+        proxy.init();
+        proxy.start();
+
+        DummyService service = new DummyService
+            (new URL("http://localhost:" + PROXY_PORT + "/dummyWebapp/DummyServiceSOAPPort?wsdl"),
+             new QName("DummyService", "DummyService"));
+
+        DummyServicePortType dummyService = service.getDummyServiceSOAPPort();
+        
+        ObjectFactory factory = new ObjectFactory();
+        VerifyUserInMsgType request = factory.createVerifyUserInMsgType();
+        VerifyUserOutMsgType response = dummyService.verifyUser(request);
+
+        assertNotNull(response);
+        
+        proxy.stop();
+        proxy = null;
+
+        // give the proxy some time to send the copy of the message
+        while(messages.size() < 1) {
+            Thread.sleep(1000);
+        }
+        
+        assertEquals(2, messages.size());
+        
+        JAXBContext jaxbContext = JAXBContext.newInstance(HttpExchange.class.getPackage().getName());
+        Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
+        
+        JAXBElement<HttpExchange> jaxObject =
+            (JAXBElement<HttpExchange>) unmarshaller.unmarshal(new StringReader(messages.get(0)));
+        
+        HttpExchange exchange = jaxObject.getValue();
+        
+        assertEquals(Method.GET, exchange.getRequest().getMethod());
+
+        assertNull(exchange.getRequest().getContent());
+        assertNotNull(exchange.getResponse().getContent().getData());
+
+        jaxObject =
+            (JAXBElement<HttpExchange>) unmarshaller.unmarshal(new StringReader(messages.get(1)));
+            
+        exchange = jaxObject.getValue();
+            
+        assertEquals(Method.POST, exchange.getRequest().getMethod());
+
+        assertNotNull(exchange.getRequest().getContent().getData());
+        assertNotNull(exchange.getResponse().getContent().getData());
+    }
+    
     /**
      *
@@ -344,6 +460,18 @@
         
         assertEquals(Method.fromValue(method), exchange.getRequest().getMethod());
-        assertEquals(message, exchange.getRequest().getContent().getData());
-        assertEquals(response, exchange.getResponse().getContent().getData());
+        
+        if (message != null) {
+            assertEquals(message, exchange.getRequest().getContent().getData());
+        }
+        else if (exchange.getRequest().getContent() != null) {
+            System.err.println(exchange.getRequest().getContent().getData());
+        }
+        
+        if (response != null) {
+            assertEquals(response, exchange.getResponse().getContent().getData());
+        }
+        else if (exchange.getResponse().getContent() != null) {
+            System.err.println(exchange.getResponse().getContent().getData());
+        }
     }
 
