diff --git a/modules/json/pom.xml b/modules/json/pom.xml
index a662603..55f9acd 100644
--- a/modules/json/pom.xml
+++ b/modules/json/pom.xml
@@ -64,6 +64,11 @@
             <version>${project.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.owasp.encoder</groupId>
+            <artifactId>encoder</artifactId>
+            <version>1.2.3</version>
+        </dependency>
+        <dependency>
             <groupId>com.google.code.gson</groupId>
             <artifactId>gson</artifactId>
         </dependency>
diff --git a/modules/json/src/org/apache/axis2/json/gson/JsonFormatter.java b/modules/json/src/org/apache/axis2/json/gson/JsonFormatter.java
index 4aaa8c9..cbd3033 100644
--- a/modules/json/src/org/apache/axis2/json/gson/JsonFormatter.java
+++ b/modules/json/src/org/apache/axis2/json/gson/JsonFormatter.java
@@ -20,6 +20,7 @@
 package org.apache.axis2.json.gson;
 
 import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
 import com.google.gson.stream.JsonWriter;
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMOutputFormat;
@@ -98,7 +99,10 @@
 
             } else {
                 try {
-                    Gson gson = new Gson();
+                    GsonBuilder gsonBuilder = new GsonBuilder(); 
+                    // XSS protection, encode JSON Strings as HTML
+                    gsonBuilder.registerTypeAdapter(String.class, new JsonHtmlXssSerializer());
+                    Gson gson = gsonBuilder.create();
                     jsonWriter.beginObject();
                     jsonWriter.name(JsonConstant.RESPONSE);
                     Type returnType = (Type) outMsgCtxt.getProperty(JsonConstant.RETURN_TYPE);
