BP-766
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/core/controller/BaseWebService.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/core/controller/BaseWebService.java
index a35bd86..06532fa 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/core/controller/BaseWebService.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/core/controller/BaseWebService.java
@@ -13,7 +13,10 @@
 package org.eclipse.openk.core.controller;
 
 import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
 import java.util.Arrays;
+import java.util.Base64;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -131,20 +134,40 @@
 			changeUserName = JwtHelper.getJwtPayload(token).getPreferredUsername();
 			Object o = invokable.invoke(changeUserName);
 			File f = (File) o;
-
 			String[] arrString = f.getName().split("\\.");
 			String fileType = arrString[arrString.length - 1];
 			String mediaType = this.getMediaTypeForFile(fileType);
 
-			ResponseBuilder responseBuilder = Response.status(200).entity(f).type(mediaType);
-			Response response = responseBuilder.build();
-			
-			response.getHeaders().putSingle("Content-Length", f.length());
-			response.getHeaders().putSingle("Content-Disposition", "attachment; filename=" + f.getName());
-			response.getHeaders().putSingle("Content-Type", "application/octet-stream");
-			
+			InputStream finput = null;
+			try {
+				finput = new FileInputStream(f);
+				byte[] bytes = new byte[(int) f.length()];
+				finput.read(bytes, 0, bytes.length);
 
-			return response;
+				String byteString = Base64.getEncoder().encodeToString(bytes);
+
+				ResponseBuilder responseBuilder = Response.status(200).entity(byteString).type(mediaType);
+				return responseBuilder.build();
+			} catch (Exception e) {
+				logger.error(e, e);
+				throw e;
+
+			} finally {
+				if (finput != null) {
+					finput.close();
+				}
+			}
+
+//			String[] arrString = f.getName().split("\\.");
+//			String fileType = arrString[arrString.length - 1];
+//			String mediaType = this.getMediaTypeForFile(fileType);
+//
+//			ResponseBuilder responseBuilder = Response.status(200).entity(f).type(mediaType);
+//			Response response = responseBuilder.build();
+//			
+//			response.getHeaders().putSingle("Content-Length", f.length());
+//			response.getHeaders().putSingle("Content-Disposition", "attachment; filename=" + f.getName());
+//			response.getHeaders().putSingle("Content-Type", "application/octet-stream");
 
 		} catch (HttpStatusException e) {
 			SpErrorEntry ee = SpExceptionEnum.DEFAULT_EXCEPTION.getEntry();
@@ -229,8 +252,8 @@
 	private String getMediaTypeForFile(String fileType) {
 		String mediaType = "";
 		if (fileType.equalsIgnoreCase("xlsx")) {
-			//mediaType = ReportRestService.EXCEL_MEDIA_TYPE;
-			mediaType="application/octet-stream";
+			// mediaType = ReportRestService.EXCEL_MEDIA_TYPE;
+			mediaType = "application/octet-stream";
 		} else if (fileType.equalsIgnoreCase("pdf")) {
 			mediaType = MediaType.APPLICATION_JSON;
 		}
diff --git a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/reports/ReportRestService.java b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/reports/ReportRestService.java
index 29731ef..358222e 100644
--- a/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/reports/ReportRestService.java
+++ b/oKBereitschaftsplanungBackend/src/main/java/org/eclipse/openk/sp/rest/reports/ReportRestService.java
@@ -137,9 +137,9 @@
 
 		} catch (SpException spException) {
 			logger.error(spException, spException);
-//			throw new IOException();
-			return Response.status(HttpStatus.BAD_REQUEST.value()).entity(spException).type(MediaType.APPLICATION_JSON)
-					.build();
+			throw new IOException();
+//			return Response.status(HttpStatus.BAD_REQUEST.value()).entity(spException).type(MediaType.APPLICATION_JSON)
+//					.build();
 		}
 
 	}