Applied fix for DIRAPI-300
diff --git a/dsml/engine/src/main/java/org/apache/directory/api/dsmlv2/engine/Dsmlv2Engine.java b/dsml/engine/src/main/java/org/apache/directory/api/dsmlv2/engine/Dsmlv2Engine.java
index 5fd6103..ba0edeb 100644
--- a/dsml/engine/src/main/java/org/apache/directory/api/dsmlv2/engine/Dsmlv2Engine.java
+++ b/dsml/engine/src/main/java/org/apache/directory/api/dsmlv2/engine/Dsmlv2Engine.java
@@ -357,6 +357,8 @@
             return;
         }
 
+        String batchResponseTag = null;
+        
         if ( respWriter != null )
         {
             StringBuilder sb = new StringBuilder();
@@ -379,7 +381,7 @@
             sb.append( batchRequest.getRequestID() );
             sb.append( "\">" );
 
-            respWriter.write( sb.toString() );
+            batchResponseTag = sb.toString();
         }
 
         // Processing each request:
@@ -424,6 +426,9 @@
             return;
         }
 
+        // We can now write the tag, as we don't have an error
+        respWriter.write( batchResponseTag );
+
         // (Request == null when there's no more request to process)
         while ( request != null )
         {