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 1945)
+++ trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/AbstractTC.java	(revision 1991)
@@ -280,4 +280,8 @@
             System.err.println(exchange.getResponse().getContent().getData());
         }
+        
+        assertNotNull(exchange.getRequest().getOrderingId());
+        assertNotNull(exchange.getResponse().getOrderingId());
+        assertTrue(exchange.getRequest().getOrderingId() < exchange.getResponse().getOrderingId());
     }
 
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 1945)
+++ trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/HttpMonitorTest.java	(revision 1991)
@@ -32,4 +32,6 @@
 
 import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.entity.ContentType;
@@ -102,4 +104,27 @@
      */
     @Test
+    public void test_RetrievalOfId_MonitorOnly() throws Exception {
+        monitor = new HttpMonitor(new String[] { LOG_FILE_DIR, MONITOR_PORT + "" });
+
+        monitor.init();
+        monitor.start();
+        
+        long id = getId();
+        assertTrue(id > 0);
+        
+        for (int i = 0; i < 300; i++) {
+            long prevId = id;
+            id = getId();
+            assertTrue(id > prevId);
+        }
+        
+        monitor.stop();
+        monitor = null;
+    }
+    
+    /**
+     *
+     */
+    @Test
     public void test_SimulatedSession_MonitorOnly() throws Exception {
         monitor = new HttpMonitor(new String[] { LOG_FILE_DIR, MONITOR_PORT + "" });
@@ -138,4 +163,6 @@
         System.out.println("{");
         System.out.println("  {");
+        long prevId = 0;
+        
         for (int j = 0; j < sequence.size(); j++) {
             System.out.print("    ");
@@ -150,10 +177,19 @@
             assertTrue(sequence.get(j).getTarget() instanceof HTTPTarget);
 
+            HTTPEventType eventType = (HTTPEventType) sequence.get(j).getType();
+            
             HTTPTestUtils.assertExchangeEquals
-                (simulatedSession.getHttpExchange().get(j),
-                 ((HTTPEventType) sequence.get(j).getType()).getExchange());
+                (simulatedSession.getHttpExchange().get(j), eventType.getExchange());
 
             assertEquals(HTTPUtils.toString(simulatedSession.getHttpExchange().get(j).getReceiver()),
                          ((HTTPTarget) sequence.get(j).getTarget()).getStringIdentifier());
+            
+            assertNotNull(eventType.getExchange().getRequest().getOrderingId());
+            assertTrue(prevId < eventType.getExchange().getRequest().getOrderingId());
+            prevId = eventType.getExchange().getRequest().getOrderingId();
+            
+            assertNotNull(eventType.getExchange().getResponse().getOrderingId());
+            assertTrue(prevId < eventType.getExchange().getResponse().getOrderingId());
+            prevId = eventType.getExchange().getResponse().getOrderingId();
         }
         System.out.println("  }");
@@ -510,3 +546,20 @@
     }
 
+    /**
+     *
+     */
+    private long getId() throws Exception {
+        DefaultHttpClient httpclient = new DefaultHttpClient();
+        
+        HttpGet httpRequest = new HttpGet("http://localhost:" + MONITOR_PORT + "/");
+            
+        try {
+            HttpResponse response = httpclient.execute(httpRequest);
+            return Long.parseLong(response.getFirstHeader("X-AutoQUEST-OrderingId").getValue());
+        }
+        finally {
+            httpRequest.releaseConnection();
+        }
+    }
+
 }
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 1945)
+++ trunk/autoquest-httpmonitor-test/src/test/java/de/ugoe/cs/autoquest/httpmonitor/HttpMonitoringProxyTest.java	(revision 1991)
@@ -65,4 +65,9 @@
      */
     private Server dummyMonitor;
+
+    /**
+     * the id generator used by the dummy
+     */
+    private IdGenerator idGenerator;
     
     /**
@@ -77,4 +82,8 @@
         // setup a simple HTTP server
         messages = new LinkedList<String>();
+        
+        idGenerator = new SimpleIdGenerator();
+        idGenerator.init();
+        idGenerator.start();
         
         dummyMonitor = new Server(MONITOR_PORT);
@@ -99,4 +108,5 @@
             }
         }
+        
         if (dummyMonitor != null) {
             try {
@@ -105,4 +115,13 @@
             finally {
                 dummyMonitor = null;
+            }
+        }
+        
+        if (idGenerator != null) {
+            try {
+                idGenerator.stop();
+            }
+            finally {
+                idGenerator = null;
             }
         }
@@ -642,5 +661,5 @@
         
         /* (non-Javadoc)
-         * @see javax.servlet.http.HttpServlet#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
+         * @see HttpServlet#service(HttpServletRequest, HttpServletResponse)
          */
         @Override
@@ -653,4 +672,14 @@
             System.out.println("send ok response");
         }
+
+        /* (non-Javadoc)
+         * @see javax.servlet.http.HttpServlet#doGet(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
+         */
+        @Override
+        protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+            throws ServletException, IOException
+        {
+            resp.setHeader("X-AutoQUEST-OrderingId", Long.toString(idGenerator.getNextId()));
+        }
         
         
