[jboss-cvs] jboss-seam/src/remoting/org/jboss/seam/remoting ...
Shane Bryzak
sbryzak at redhat.com
Wed Dec 5 19:53:02 EST 2007
User: sbryzak2
Date: 07/12/05 19:53:02
Modified: src/remoting/org/jboss/seam/remoting ExecutionHandler.java
Log:
cache request before parsing xml
Revision Changes Path
1.13 +17 -1 jboss-seam/src/remoting/org/jboss/seam/remoting/ExecutionHandler.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ExecutionHandler.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/remoting/org/jboss/seam/remoting/ExecutionHandler.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- ExecutionHandler.java 5 Dec 2007 01:24:26 -0000 1.12
+++ ExecutionHandler.java 6 Dec 2007 00:53:01 -0000 1.13
@@ -1,8 +1,11 @@
package org.jboss.seam.remoting;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
+import java.io.StringReader;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -52,9 +55,22 @@
// We're sending an XML response, so set the response content type to text/xml
response.setContentType("text/xml");
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+
+ byte[] buffer = new byte[256];
+ int read = request.getInputStream().read(buffer);
+ while (read != -1)
+ {
+ out.write(buffer, 0, read);
+ read = request.getInputStream().read(buffer);
+ }
+
+ String requestData = new String(out.toByteArray());
+ log.debug("Processing remote request: " + requestData);
+
// Parse the incoming request as XML
SAXReader xmlReader = new SAXReader();
- Document doc = xmlReader.read( new InputStreamReader(request.getInputStream()) );
+ Document doc = xmlReader.read( new StringReader(requestData) );
final Element env = doc.getRootElement();
final RequestContext ctx = unmarshalContext(env);
More information about the jboss-cvs-commits
mailing list