You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ru...@apache.org on 2001/05/03 05:43:59 UTC
cvs commit: xml-axis/java/src/org/apache/axis/transport/http HTTPDispatchHandler.java
rubys 01/05/02 20:43:59
Modified: java/src/org/apache/axis/transport/http
HTTPDispatchHandler.java
Log:
Client intermittently truncates the response, also some client side
performance improvements.
Revision Changes Path
1.18 +20 -7 xml-axis/java/src/org/apache/axis/transport/http/HTTPDispatchHandler.java
Index: HTTPDispatchHandler.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/transport/http/HTTPDispatchHandler.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- HTTPDispatchHandler.java 2001/04/27 15:24:33 1.17
+++ HTTPDispatchHandler.java 2001/05/03 03:43:59 1.18
@@ -65,6 +65,7 @@
import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.message.SOAPHeader;
import org.apache.axis.handlers.BasicHandler;
+import org.apache.axis.transport.http.NonBlockingBufferedInputStream;
import org.apache.axis.encoding.Base64 ;
import org.w3c.dom.* ;
@@ -168,8 +169,8 @@
//System.out.println("Msg: " + reqEnv);
+ BufferedInputStream inp = new BufferedInputStream(sock.getInputStream());
OutputStream out = sock.getOutputStream();
- InputStream inp = sock.getInputStream();
StringBuffer otherHeaders = new StringBuffer();
String userID = null ;
String passwd = null ;
@@ -253,7 +254,7 @@
name.substring(end+1));
}
else
- headers.put( name, value );
+ headers.put( name.toLowerCase(), value );
len = 0 ;
}
}
@@ -268,12 +269,24 @@
}
if ( b != -1 ) {
- outMsg = new Message( inp, "InputStream" );
- msgContext.setResponseMessage( outMsg );
+
+ if (Debug.getDebugLevel() > 0) {
+ String contentLength = (String) headers.get("content-length");
+ byte[] data = new byte[Integer.parseInt(contentLength)];
+ for (len=0; len<data.length; )
+ len+= inp.read(data,len,data.length-len);
+ String xml = new String(data);
+
+ outMsg = new Message( data, "String" );
+
+ Debug.Print( 1, "\nXML received:" );
+ Debug.Print( 1, "-------------------------------------------------");
+ Debug.Print( 1, xml );
+ } else {
+ outMsg = new Message( inp, "InputStream" );
+ }
- Debug.Print( 1, "\nXML received:" );
- Debug.Print( 1, "---------------------------------------------------");
- Debug.Print( 1, (String)outMsg.getAs("String") );
+ msgContext.setResponseMessage( outMsg );
}
inp.close();
out.close();