diff --git a/src/main/java/caosdb/server/converter/misc/AbstractContainerHelper.java b/src/main/java/caosdb/server/converter/misc/AbstractContainerHelper.java
index 9bace44d7756ff95ed523cc7be1f87275d175d67..ebcba786382e0c1c5b93cfda5ecae1b308d03308 100644
--- a/src/main/java/caosdb/server/converter/misc/AbstractContainerHelper.java
+++ b/src/main/java/caosdb/server/converter/misc/AbstractContainerHelper.java
@@ -58,10 +58,14 @@ public abstract class AbstractContainerHelper extends ConverterHelper {
     return -1.0F;
   }
 
+  public List<VariantInfo> getVariants() {
+    return variants;
+  }
+
   @Override
   public List<VariantInfo> getVariants(Class<?> source) throws IOException {
     if (source != null && TransactionContainer.class.isAssignableFrom(source)) {
-      return variants;
+      return getVariants();
     }
 
     return null;
diff --git a/src/main/java/caosdb/server/converter/misc/HttpStatusConverter.java b/src/main/java/caosdb/server/converter/misc/HttpStatusConverter.java
index d58f0280eb2e8a94228b9b876c7505e48ec7e000..80de82dc7c226e836f1c102680785c6ffe2335cb 100644
--- a/src/main/java/caosdb/server/converter/misc/HttpStatusConverter.java
+++ b/src/main/java/caosdb/server/converter/misc/HttpStatusConverter.java
@@ -34,7 +34,8 @@ public class HttpStatusConverter extends ConverterHelper {
   @Override
   public List<VariantInfo> getVariants(Class<?> source) throws IOException {
     if (isCompatible(source)) {
-      return containerConverter.getVariants(TransactionContainer.class);
+      List<VariantInfo> result = containerConverter.getVariants(TransactionContainer.class);
+      return result;
     }
     return null;
   }
@@ -45,7 +46,11 @@ public class HttpStatusConverter extends ConverterHelper {
 
   @Override
   public float score(Object source, Variant target, Resource resource) {
-    return containerConverter.score(dummyContainer, target, resource);
+    if (source instanceof StatusInfo) {
+      return containerConverter.score(dummyContainer, target, resource);
+    } else {
+      return -1.0F;
+    }
   }
 
   @Override
@@ -66,7 +71,7 @@ public class HttpStatusConverter extends ConverterHelper {
       throws IOException {
     Representation result = null;
 
-    if (source != null && StatusInfo.class.isAssignableFrom(source.getClass())) {
+    if (source != null && source instanceof StatusInfo) {
       StatusInfo status = (StatusInfo) source;
       result = toJdomRepresentation(status, target, resource);
     }
diff --git a/src/main/java/caosdb/server/resource/AuthenticationResource.java b/src/main/java/caosdb/server/resource/AuthenticationResource.java
index 556763b2e135e36edd562b332a2faa9609e395d6..58e111328e92d1b840f5ffb9ac9bdfa51d2b5b4c 100644
--- a/src/main/java/caosdb/server/resource/AuthenticationResource.java
+++ b/src/main/java/caosdb/server/resource/AuthenticationResource.java
@@ -38,7 +38,6 @@ import org.restlet.data.Form;
 import org.restlet.data.Reference;
 import org.restlet.data.Status;
 import org.restlet.engine.application.StatusInfo;
-import org.restlet.representation.Representation;
 import org.restlet.resource.Delete;
 import org.restlet.resource.Post;
 import org.restlet.resource.ResourceException;
@@ -60,7 +59,7 @@ public class AuthenticationResource extends AbstractCaosDBServerResource {
   }
 
   @Post
-  public StatusInfo login(final Representation entity) {
+  public StatusInfo login(final Form f) {
 
     getUser().logout();
 
@@ -69,7 +68,6 @@ public class AuthenticationResource extends AbstractCaosDBServerResource {
     String password = null;
 
     // get realm, username and password from HTTP Form
-    final Form f = new Form(entity);
     if (!f.isEmpty()) {
       username = f.getFirstValue("username");
       realm =
diff --git a/src/main/java/caosdb/server/resource/XMLServerResource.java b/src/main/java/caosdb/server/resource/XMLServerResource.java
index 66ed8c5ba5cf61b3e44d5de6d29252507f9c43d2..36a4e25b4e0f87bd697cab532aed90927931fd88 100644
--- a/src/main/java/caosdb/server/resource/XMLServerResource.java
+++ b/src/main/java/caosdb/server/resource/XMLServerResource.java
@@ -145,7 +145,7 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
     userInfo.setAttribute("realm", ((Principal) user.getPrincipal()).getRealm());
   }
 
-  @Get
+  @Get("xml")
   public Representation httpGet() {
     try {
       return httpGetInChildClass();
@@ -158,7 +158,7 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
       throws ConnectionException, IOException, SQLException, CaosDBException,
           NoSuchAlgorithmException, Exception;
 
-  @Post
+  @Post("form|xml:xml")
   public Representation httpPost(final Representation entity) {
     try {
       return httpPostInChildClass(entity);
@@ -167,7 +167,7 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
     }
   }
 
-  @Put
+  @Put("form|xml:xml")
   public Representation httpPut(final Representation entity) {
     try {
       // catch empty post entity.
@@ -194,7 +194,7 @@ public abstract class XMLServerResource extends AbstractCaosDBServerResource {
     return null;
   }
 
-  @Delete
+  @Delete("xml")
   public Representation httpDelete() {
     try {
       return httpDeleteInChildClass();