use HTML encoding on JSON return strings ... starting with the GSON implementation
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);