diff --git a/api-data-store-server-java/src/main/java/ch/ethz/sis/afsclient/client/AfsClient.java b/api-data-store-server-java/src/main/java/ch/ethz/sis/afsclient/client/AfsClient.java index 04643c684931e3795a23de5489e8b83dc7362b4e..fa151f65157082e898a19c2fd80f4aea338551f6 100644 --- a/api-data-store-server-java/src/main/java/ch/ethz/sis/afsclient/client/AfsClient.java +++ b/api-data-store-server-java/src/main/java/ch/ethz/sis/afsclient/client/AfsClient.java @@ -276,7 +276,9 @@ public final class AfsClient implements PublicAPI } } else if (statusCode >= 400 && statusCode < 500) { - throw ClientExceptions.CLIENT_ERROR.getInstance(statusCode); + // jsonObjectMapper can't deserialize immutable lists sent in the error message. + String res = new String(httpResponse.body(), StandardCharsets.UTF_8); + throw ClientExceptions.API_ERROR.getInstance(res); } else if (statusCode >= 500 && statusCode < 600) { throw ClientExceptions.SERVER_ERROR.getInstance(statusCode); diff --git a/server-data-store/src/test/java/ch/ethz/sis/afsserver/client/OpenBisAuthApiClientTest.java b/server-data-store/src/test/java/ch/ethz/sis/afsserver/client/OpenBisAuthApiClientTest.java index d10cdcfc41bf8013d896bd47202c37492722aa5f..e36ca1f2eeb57ec1888285e05ff333ba7f2c44ca 100644 --- a/server-data-store/src/test/java/ch/ethz/sis/afsserver/client/OpenBisAuthApiClientTest.java +++ b/server-data-store/src/test/java/ch/ethz/sis/afsserver/client/OpenBisAuthApiClientTest.java @@ -91,7 +91,6 @@ public class OpenBisAuthApiClientTest extends BaseApiClientTest { ThrowableReason reason = (ThrowableReason) e.getCause(); String message = ((ExceptionReason) reason.getReason()).getMessage(); - System.out.println(message); assertTrue(message.matches( "(?s).*Session .* don't have rights \\[Read\\] over .*to perform the operation List(?s).*")); } @@ -111,7 +110,6 @@ public class OpenBisAuthApiClientTest extends BaseApiClientTest { ThrowableReason reason = (ThrowableReason) e.getCause(); String message = ((ExceptionReason) reason.getReason()).getMessage(); - System.out.println(message); assertTrue(message.matches("(?s).*Session .* doesn't exist(?s).*")); } } @@ -131,7 +129,6 @@ public class OpenBisAuthApiClientTest extends BaseApiClientTest { ThrowableReason reason = (ThrowableReason) e.getCause(); String message = ((ExceptionReason) reason.getReason()).getMessage(); - System.out.println(message); assertTrue(message.matches( "(?s).*Session .* don't have rights \\[Write\\] over .* to perform the operation Write(?s).*")); } @@ -155,7 +152,6 @@ public class OpenBisAuthApiClientTest extends BaseApiClientTest { ThrowableReason reason = (ThrowableReason) e.getCause(); String message = ((ExceptionReason) reason.getReason()).getMessage(); - System.out.println(message); assertTrue(message.matches( "(?s).*Session .* don't have rights \\[(Write|Read), (Write|Read)\\] over .* to perform the operation Move(?s).*")); }