diff --git a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
index f110678855e17c1605ecac8b3e4776919007e70f..1f7718cdffa73323307903b6ee29025bf8d4df0f 100644
--- a/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
+++ b/data-discovery/src/main/java/vlkb/webapi/FormatResponseFilter.java
@@ -78,7 +78,7 @@ public class FormatResponseFilter implements Filter
       LOGGER.info("REQUEST START =============================================================================================");
  
       Map<String, String[]> params = request.getParameterMap();
-      for(String keys : params.keySet()) LOGGER.info("Params: " + keys);
+      //for(String keys : params.keySet()) LOGGER.info("Params: " + keys);
       Coord       coord           = new Coord(params);
       SubsurveyId subsurveyId     = new SubsurveyId(params);
       // FIXME add invalid param excpetions 
@@ -89,15 +89,15 @@ public class FormatResponseFilter implements Filter
 
       long startTime_msec = System.currentTimeMillis();
 
-      PrintWriter responseWriter = ((HttpServletResponse)response).getWriter();
+      String[] pubdidArr = responseWrapper.getPubdidArr();
 
-      if (true)
-         //if (responseWrapper.getContentType().contains("text/plain"))
+      if ((pubdidArr != null) && (pubdidArr.length > 0))
       {
+         PrintWriter responseWriter = ((HttpServletResponse)response).getWriter();
 
          Dataset[] datasetArr = queryObsCore(
-               responseWrapper.getPubdidArr(),
-               coord,// VLKB: calc ovelrap-code in Spectrum
+               pubdidArr,
+               coord,// VLKB: calc ovelrap-codes
                settings.serviceUrls.cutoutUrl());
 
          SearchOutputData searchOutputData = SearchOutputData.marshall(
@@ -132,6 +132,11 @@ public class FormatResponseFilter implements Filter
 
          responseWriter.close();
       }
+      else
+      {
+         LOGGER.info("Servlet returned no ID's.");
+      }
+
       LOGGER.info("REQUEST END   =============================================================================================");
    }
 
diff --git a/data-discovery/src/main/java/vlkb/webapi/MultiValuedParamNotSupported.java b/data-discovery/src/main/java/vlkb/webapi/MultiValuedParamNotSupported.java
new file mode 100644
index 0000000000000000000000000000000000000000..2b3dd3c6a1efaf93eeea9eccb4b359e0200ab8c4
--- /dev/null
+++ b/data-discovery/src/main/java/vlkb/webapi/MultiValuedParamNotSupported.java
@@ -0,0 +1,8 @@
+
+
+
+public class MultiValuedParamNotSupported  extends IllegalArgumentException {
+    public MultiValuedParamNotSupported(String errorMessage){//, Throwable err) {
+        super(errorMessage);//, err);
+    }
+}
diff --git a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java
index 73e1cd04d376c08386541a9b0f94f07105a6261b..86e13c22be05c58f90e78b3f97c3a02960143fb1 100644
--- a/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java
+++ b/data-discovery/src/main/java/vlkb/webapi/SearchServlet.java
@@ -32,12 +32,29 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
       LOGGER.info("DB   : " + settings.dbConn.toString());
    }
 
+   protected void doMultiValuedParamNotSupported(String message, PrintWriter printWriter)
+   {
+      printWriter.println("MultiValuedParamNotSupported : " + message);
+   }
+
+   protected void doUsageError(String message, PrintWriter printWriter)
+   {
+      printWriter.println("UsageError : " + message);
+   }
+
+   protected void doError(String message, PrintWriter printWriter)
+   {
+      printWriter.println("Error : " + message);
+   }
+
 
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
       throws ServletException, IOException, UnsupportedEncodingException
    {
       LOGGER.info("trace");
 
+      PrintWriter writer = response.getWriter();
+
       long startTime_msec = System.currentTimeMillis();
 
       legacyLogEntry(request);
@@ -82,7 +99,7 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
 
             response.setContentType("text/plain");
             response.setCharacterEncoding(RESPONSE_ENCODING);
-            PrintWriter writer = response.getWriter();
+            //PrintWriter writer = response.getWriter();
 
             for(String pubdid : pubdidArr)
             {
@@ -91,18 +108,62 @@ public class SearchServlet extends javax.servlet.http.HttpServlet
             writer.close();
          }
       }
-      catch (IllegalArgumentException illArg)
+      catch(MultiValuedParamNotSupported ex)
       {
-         response.sendError(HttpServletResponse.SC_BAD_REQUEST,
-               "Request with incorrect parameters: " + illArg.getMessage());
-         return;
+         LOGGER.info("MultiValuedParamNotSupported: " + ex.getMessage());
+
+         response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+         response.setContentType("text/plain");
+         //PrintWriter writer = new PrintWriter(new OutputStreamWriter(respOutputStream, RESPONSE_ENCODING));
+
+         doMultiValuedParamNotSupported(ex.getMessage(), writer);
+         writer.close();
+      }
+      catch(IllegalArgumentException ex)
+      {
+         LOGGER.info("IllegalArgumentException: " + ex.getMessage());
+
+         response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+         response.setContentType("text/plain");
+         //PrintWriter writer = new PrintWriter(new OutputStreamWriter(respOutputStream, RESPONSE_ENCODING));
+
+         doUsageError(ex.getMessage(), writer);
+         writer.close();
       }
       catch(Exception ex)
       {
          LOGGER.info("Exception: " + ex.getMessage());
          ex.printStackTrace();
+
+         response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+         response.setContentType("text/plain");
+         //PrintWriter writer = new PrintWriter(new OutputStreamWriter(respOutputStream, RESPONSE_ENCODING));
+
+         doError(ex.toString(), writer);
+         writer.close();
+      }
+      finally
+      {
+         //writer.close();
       }
 
+
+
+
+
+      /*
+         catch (IllegalArgumentException illArg)
+         {
+         response.sendError(HttpServletResponse.SC_BAD_REQUEST,
+         "Request with incorrect parameters: " + illArg.getMessage());
+         return;
+         }
+         catch(Exception ex)
+         {
+         LOGGER.info("Exception: " + ex.getMessage());
+         ex.printStackTrace();
+         }
+         */
       return;
    }