diff --git a/src/main/java/org/eclipse/openk/api/ServiceRequestEnvelope.java b/src/main/java/org/eclipse/openk/api/ServiceRequestEnvelope.java
index b9efc98..76a9e2a 100644
--- a/src/main/java/org/eclipse/openk/api/ServiceRequestEnvelope.java
+++ b/src/main/java/org/eclipse/openk/api/ServiceRequestEnvelope.java
@@ -13,9 +13,14 @@
 package org.eclipse.openk.api;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import org.apache.log4j.Logger;
 import org.glassfish.jersey.internal.util.Base64;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+
 public class ServiceRequestEnvelope {
+    private static final Logger logger = Logger.getLogger(ServiceRequestEnvelope.class);
     public static class HttpHeader {
         private String attribute;
         private String value;
@@ -106,7 +111,12 @@
 
     public String getPayloadDecode() {
         if( payload != null && !payload.isEmpty()) {
-            return Base64.decodeAsString(payload);
+            try {
+                return URLDecoder.decode(Base64.decodeAsString(payload), "UTF-8");
+            } catch (UnsupportedEncodingException e) {
+                logger.error("Unsupported Encoding", e);
+                return "";
+            }
         }
         else {
             return "";
