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 1566)
+++ /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/AbstractTC.java	(revision 1567)
@@ -83,4 +83,30 @@
     /** */
     private static Tomcat tomcat = new Tomcat();
+    
+    /**
+     * 
+     */
+    static String readStreamContentToString(InputStream stream) throws IOException {
+        return readToString(new BufferedReader(new InputStreamReader(stream)));
+    }
+    
+    /**
+     * 
+     */
+    static String readToString(BufferedReader reader) throws IOException {
+        StringBuffer message = new StringBuffer();
+        
+        String line = reader.readLine();
+        while (line != null) {
+            System.err.println(line);
+            if (message.length() > 0) {
+                message.append('\n');
+            }
+            message.append(line);
+            line = reader.readLine();
+        }
+        
+        return message.toString();
+    }
 
     /**
@@ -182,4 +208,6 @@
         try {
             HttpResponse response = httpclient.execute(httpRequest);
+            
+            assertEquals(message, dummyServlet.getRequest());
             System.err.println(response.getStatusLine());
             String responseStr = readStreamContentToString(response.getEntity().getContent());
@@ -190,30 +218,4 @@
             httpRequest.releaseConnection();
         }
-    }
-    
-    /**
-     * 
-     */
-    protected String readStreamContentToString(InputStream stream) throws IOException {
-        return readToString(new BufferedReader(new InputStreamReader(stream)));
-    }
-    
-    /**
-     * 
-     */
-    protected String readToString(BufferedReader reader) throws IOException {
-        StringBuffer message = new StringBuffer();
-        
-        String line = reader.readLine();
-        while (line != null) {
-            System.err.println(line);
-            if (message.length() > 0) {
-                message.append('\n');
-            }
-            message.append(line);
-            line = reader.readLine();
-        }
-        
-        return message.toString();
     }
     
Index: /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/DummyServlet.java
===================================================================
--- /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/DummyServlet.java	(revision 1566)
+++ /trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/DummyServlet.java	(revision 1567)
@@ -31,4 +31,7 @@
     
     /** */
+    private String requestMessage;
+    
+    /** */
     private String responseMessage;
 
@@ -40,4 +43,6 @@
         throws ServletException, IOException
     {
+        requestMessage = AbstractTC.readStreamContentToString(request.getInputStream());
+        
         System.err.println("responding on get with:   " + responseMessage);
         response.getOutputStream().write(responseMessage.getBytes());
@@ -51,4 +56,6 @@
         throws ServletException, IOException
     {
+        requestMessage = AbstractTC.readStreamContentToString(request.getInputStream());
+        
         System.err.println("responding on post with:  " + responseMessage);
         response.getOutputStream().write(responseMessage.getBytes());
@@ -59,7 +66,9 @@
      */
     @Override
-    protected void doTrace(HttpServletRequest req, HttpServletResponse response)
+    protected void doTrace(HttpServletRequest request, HttpServletResponse response)
         throws ServletException, IOException
     {
+        requestMessage = AbstractTC.readStreamContentToString(request.getInputStream());
+        
         System.err.println("responding on trace with: " + responseMessage);
         response.getOutputStream().write(responseMessage.getBytes());
@@ -72,3 +81,10 @@
         this.responseMessage = responseMessage;
     }
+
+    /**
+     * 
+     */
+    String getRequest() {
+        return this.requestMessage;
+    }
 }
Index: /trunk/autoquest-httpmonitor/src/main/java/de/ugoe/cs/autoquest/httpmonitor/proxy/HttpMonitoringProxyServlet.java
===================================================================
--- /trunk/autoquest-httpmonitor/src/main/java/de/ugoe/cs/autoquest/httpmonitor/proxy/HttpMonitoringProxyServlet.java	(revision 1566)
+++ /trunk/autoquest-httpmonitor/src/main/java/de/ugoe/cs/autoquest/httpmonitor/proxy/HttpMonitoringProxyServlet.java	(revision 1567)
@@ -258,13 +258,19 @@
             ByteBuffer next = delegate.next();
             
-            ByteBuffer clone = ByteBuffer.allocate(next.capacity());
+            ByteBuffer clone1 = ByteBuffer.allocate(next.capacity());
+            ByteBuffer clone2 = ByteBuffer.allocate(next.capacity());
+            
             next.rewind();
-            clone.put(next);
+            clone1.put(next);
             next.rewind();
-            clone.flip();
+            clone2.put(next);
+            next.rewind();
+            
+            clone1.flip();
+            clone2.flip();
              
-            exchangeListenerManager.onRequestContent(request, clone);
+            exchangeListenerManager.onRequestContent(request, clone1);
             
-            return next;
+            return clone2;
         }
 
