Hello, thinking more on the current code I have found interesting thing. Most requests we have a simple, straight SOAP envelopes, without any attachments. Looking how it is processed I have found following (traced from httpconnection):
In SOAPHTTPConnection.send() we call TransportMessage.save(). Let's look into it (see my comment how I understand it: String rootContentType = null; // Root Part is Not set for Simple Envelope ! if (ctx.isRootPartSet()) { //... Not in use for simple case } if (rootContentType == null) rootContentType = Constants.HEADERVAL_CONTENT_TYPE_UTF8; if (getEnvelope() != null) { // Now really create root part - how important it is if we now how to write this Envelope without involving Mime !!! ctx.setRootPart(envelope, rootContentType); } else { //... Not in use for simple case } // Print the whole response to a byte array. // Tracing into this code we'll found that all it will do it add unnecessary header to envelope // The headers include Content-Type - we know which is, // Content-id - do we need it? Even if yes we can create any id // Content-Transfer-Encoding - not for HTTp, anyway we force it to 8 bit // Content-Lenght - easy to calculate ByteArrayOutputStream payload = new ByteArrayOutputStream(1024); ctx.writeTo(payload); bytes = payload.toByteArray(); // Now strip off the headers. (Grmbl, get rid of JavaMail // for MIME support). Just intercept the Content-Type // Remove headers which created right now.... .... // TODO: should not send for HTTP response headers.put("Accept-Encoding", "x-gzip"); if (Boolean.TRUE.equals(ctx.getGzip())) { // Deflate ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length * 2); GZIPOutputStream gzos = new GZIPOutputStream(baos); gzos.write(bytes, offset, bytes.length - offset); gzos.close(); baos.close(); bytes = baos.toByteArray(); offset = 0; headers.put("Content-Encoding", "x-gzip"); } Seems like we are doing wonderful job of running a lot unnecessary operations, involving a lot of memory allocations... It could be most advanced improvement we ever done! Best regards, Pavel -- To unsubscribe, e-mail: <mailto:soap-dev-unsubscribe@;xml.apache.org> For additional commands, e-mail: <mailto:soap-dev-help@;xml.apache.org>