You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ru...@apache.org on 2010/08/22 12:00:12 UTC
svn commit: r987857 - in /synapse/trunk/java/modules:
commons/src/main/java/org/apache/synapse/commons/util/
core/src/main/java/org/apache/synapse/core/
core/src/main/java/org/apache/synapse/core/axis2/
core/src/main/java/org/apache/synapse/util/ core/...
Author: ruwan
Date: Sun Aug 22 10:00:12 2010
New Revision: 987857
URL: http://svn.apache.org/viewvc?rev=987857&view=rev
Log:
replacing the TemporaryData usages with the OverflowBlob from axiom
Modified:
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/RMIRegistryController.java
synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/TemporaryData.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/SynapseBinaryDataSource.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/TextFileDataSource.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamResultBuilder.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamSourceBuilder.java
synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/util/TextFileDataSourceTest.java
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java
Modified: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/RMIRegistryController.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/RMIRegistryController.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/RMIRegistryController.java (original)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/RMIRegistryController.java Sun Aug 22 10:00:12 2010
@@ -36,7 +36,6 @@ import java.util.Map;
/**
* Creates and manages RMI registries
*/
-
public class RMIRegistryController {
public static final Log log = LogFactory.getLog(RMIRegistryController.class);
Modified: synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/TemporaryData.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/TemporaryData.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/TemporaryData.java (original)
+++ synapse/trunk/java/modules/commons/src/main/java/org/apache/synapse/commons/util/TemporaryData.java Sun Aug 22 10:00:12 2010
@@ -18,7 +18,7 @@ import java.io.*;
* on demand. Since a temporary file may be created it is mandatory to
* call {@link #release()} to discard the temporary data.
*/
-// TODO: replace this with org.apache.axiom.util.blob.OverflowBlob when the next release of Axiom is available
+@Deprecated
public class TemporaryData {
private static final Log log = LogFactory.getLog(TemporaryData.class);
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/SynapseEnvironment.java Sun Aug 22 10:00:12 2010
@@ -19,9 +19,9 @@
package org.apache.synapse.core;
+import org.apache.axiom.util.blob.OverflowBlob;
import org.apache.synapse.MessageContext;
import org.apache.synapse.aspects.statistics.StatisticsCollector;
-import org.apache.synapse.commons.util.TemporaryData;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.endpoints.EndpointDefinition;
import org.apache.synapse.mediators.base.SequenceMediator;
@@ -77,7 +77,7 @@ public interface SynapseEnvironment {
*
* @return a TemporaryData created from the parameters provided in the synapse.properties
*/
- public TemporaryData createTemporaryData();
+ public OverflowBlob createOverflowBlob();
/**
* This method returns the <code>StatisticsCollector</code> responsible for
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java Sun Aug 22 10:00:12 2010
@@ -20,6 +20,7 @@
package org.apache.synapse.core.axis2;
import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.util.blob.OverflowBlob;
import org.apache.axis2.context.ConfigurationContext;
import org.apache.axis2.context.OperationContext;
import org.apache.axis2.context.ServiceContext;
@@ -31,13 +32,12 @@ import org.apache.synapse.MessageContext
import org.apache.synapse.SynapseConstants;
import org.apache.synapse.SynapseException;
import org.apache.synapse.aspects.statistics.StatisticsCollector;
-import org.apache.synapse.commons.util.TemporaryData;
import org.apache.synapse.config.SynapseConfiguration;
import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.endpoints.EndpointDefinition;
import org.apache.synapse.endpoints.dispatch.Dispatcher;
-import org.apache.synapse.mediators.MediatorWorker;
import org.apache.synapse.mediators.MediatorFaultHandler;
+import org.apache.synapse.mediators.MediatorWorker;
import org.apache.synapse.mediators.base.SequenceMediator;
import org.apache.synapse.util.UUIDGenerator;
import org.apache.synapse.util.concurrent.SynapseThreadPool;
@@ -256,7 +256,7 @@ public class Axis2SynapseEnvironment imp
*
* @return created TemporaryData object as per in the synapse.properties file
*/
- public TemporaryData createTemporaryData() {
+ public OverflowBlob createOverflowBlob() {
String chkSize = synapseConfig.getProperty(SynapseConstants.CHUNK_SIZE);
String chukNumber = synapseConfig.getProperty(SynapseConstants.THRESHOLD_CHUNKS);
@@ -276,7 +276,7 @@ public class Axis2SynapseEnvironment imp
String tempSuffix = synapseConfig.getProperty(SynapseConstants.TEMP_FILE_SUFIX,
SynapseConstants.DEFAULT_TEMPFILE_SUFIX);
- return new TemporaryData(numberOfChunks, chunkSize, tempPrefix, tempSuffix);
+ return new OverflowBlob(numberOfChunks, chunkSize, tempPrefix, tempSuffix);
}
/**
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/SynapseBinaryDataSource.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/SynapseBinaryDataSource.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/SynapseBinaryDataSource.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/SynapseBinaryDataSource.java Sun Aug 22 10:00:12 2010
@@ -19,8 +19,8 @@
package org.apache.synapse.util;
+import org.apache.axiom.util.blob.OverflowBlob;
import org.apache.synapse.core.SynapseEnvironment;
-import org.apache.synapse.commons.util.TemporaryData;
import javax.activation.DataSource;
import java.io.IOException;
@@ -38,7 +38,7 @@ public class SynapseBinaryDataSource imp
private String contentType;
/** Hessian message is kept inside the DataSource as a byte array */
- private TemporaryData data;
+ private OverflowBlob data;
/**
* Constructs the HessianDataSource from the given InputStream. Inside the HessianDataSource,
@@ -52,9 +52,9 @@ public class SynapseBinaryDataSource imp
public SynapseBinaryDataSource(InputStream inputstream, String contentType) throws IOException {
this.contentType = contentType;
- this.data = new TemporaryData(4, 1024, "tmp_", ".dat");
+ this.data = new OverflowBlob(4, 1024, "tmp_", ".dat");
- data.readFrom(inputstream);
+ data.readFrom(inputstream, -1);
inputstream.close();
}
@@ -62,9 +62,9 @@ public class SynapseBinaryDataSource imp
SynapseEnvironment synEnv) throws IOException {
this.contentType = contentType;
- this.data = synEnv.createTemporaryData();
+ this.data = synEnv.createOverflowBlob();
- data.readFrom(inputstream);
+ data.readFrom(inputstream, -1);
inputstream.close();
}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/TextFileDataSource.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/TextFileDataSource.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/TextFileDataSource.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/TextFileDataSource.java Sun Aug 22 10:00:12 2010
@@ -29,9 +29,9 @@ import org.apache.axiom.om.impl.MTOMXMLS
import org.apache.axiom.om.impl.llom.OMSourcedElementImpl;
import org.apache.axiom.om.impl.serialize.StreamingOMSerializer;
import org.apache.axiom.om.util.StAXUtils;
+import org.apache.axiom.util.blob.OverflowBlob;
import org.apache.axiom.util.stax.WrappedTextNodeStreamReader;
import org.apache.axis2.transport.base.BaseConstants;
-import org.apache.synapse.commons.util.TemporaryData;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
@@ -46,17 +46,17 @@ import java.io.Writer;
import java.nio.charset.Charset;
public class TextFileDataSource extends OMDataSourceExtBase {
- private final TemporaryData temporaryData;
+ private final OverflowBlob overflowBlob;
private final Charset charset;
- public TextFileDataSource(TemporaryData temporaryData, Charset charset) {
- this.temporaryData = temporaryData;
+ public TextFileDataSource(OverflowBlob overflowBlob, Charset charset) {
+ this.overflowBlob = overflowBlob;
this.charset = charset;
}
- public static OMSourcedElement createOMSourcedElement(TemporaryData temporaryData, Charset charset) {
+ public static OMSourcedElement createOMSourcedElement(OverflowBlob overflowBlob, Charset charset) {
OMFactory fac = OMAbstractFactory.getOMFactory();
- TextFileDataSource txtFileDS = new TextFileDataSource(temporaryData, charset);
+ TextFileDataSource txtFileDS = new TextFileDataSource(overflowBlob, charset);
return new OMSourcedElementImpl(BaseConstants.DEFAULT_TEXT_WRAPPER, fac, txtFileDS);
}
@@ -85,16 +85,17 @@ public class TextFileDataSource extends
public XMLStreamReader getReader() throws XMLStreamException {
InputStream is;
try {
- is = temporaryData.getInputStream();
+ is = overflowBlob.getInputStream();
}
catch (IOException ex) {
throw new XMLStreamException(ex);
}
- return new WrappedTextNodeStreamReader(BaseConstants.DEFAULT_TEXT_WRAPPER, new InputStreamReader(is, charset));
+ return new WrappedTextNodeStreamReader(
+ BaseConstants.DEFAULT_TEXT_WRAPPER, new InputStreamReader(is, charset));
}
public Object getObject() {
- return temporaryData;
+ return overflowBlob;
}
public boolean isDestructiveRead() {
@@ -113,6 +114,6 @@ public class TextFileDataSource extends
}
public OMDataSourceExt copy() {
- return new TextFileDataSource(temporaryData, charset);
+ return new TextFileDataSource(overflowBlob, charset);
}
}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamResultBuilder.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamResultBuilder.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamResultBuilder.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamResultBuilder.java Sun Aug 22 10:00:12 2010
@@ -19,36 +19,35 @@
package org.apache.synapse.util.jaxp;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.charset.Charset;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import javax.xml.transform.Result;
-import javax.xml.transform.stream.StreamResult;
-
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
import org.apache.axiom.om.util.StAXUtils;
import org.apache.axiom.soap.impl.builder.StAXSOAPModelBuilder;
+import org.apache.axiom.util.blob.OverflowBlob;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.SynapseException;
-import org.apache.synapse.commons.util.TemporaryData;
import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.util.TextFileDataSource;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.transform.Result;
+import javax.xml.transform.stream.StreamResult;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.charset.Charset;
+
/**
* {@link ResultBuilder} implementation that produces a {@link StreamResult} backed by a
- * {@link TemporaryData} object.
+ * {@link org.apache.axiom.util.blob.OverflowBlob} object.
*/
public class StreamResultBuilder implements ResultBuilder {
private static final Log log = LogFactory.getLog(StreamResultBuilder.class);
private final SynapseEnvironment synEnv;
private final ResultBuilderFactory.Output expectedOutput;
- private TemporaryData tmp;
+ private OverflowBlob tmp;
private OutputStream out;
public StreamResultBuilder(SynapseEnvironment synEnv,
@@ -58,7 +57,7 @@ public class StreamResultBuilder impleme
}
public Result getResult() {
- tmp = synEnv.createTemporaryData();
+ tmp = synEnv.createOverflowBlob();
out = tmp.getOutputStream();
return new StreamResult(out);
}
Modified: synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamSourceBuilder.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamSourceBuilder.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamSourceBuilder.java (original)
+++ synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/util/jaxp/StreamSourceBuilder.java Sun Aug 22 10:00:12 2010
@@ -19,30 +19,29 @@
package org.apache.synapse.util.jaxp;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import javax.xml.stream.XMLStreamException;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-
import org.apache.axiom.om.OMElement;
+import org.apache.axiom.util.blob.OverflowBlob;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.SynapseException;
import org.apache.synapse.core.SynapseEnvironment;
-import org.apache.synapse.commons.util.TemporaryData;
+
+import javax.xml.stream.XMLStreamException;
+import javax.xml.transform.Source;
+import javax.xml.transform.stream.StreamSource;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
/**
* {@link SourceBuilder} implementation that serializes the AXIOM tree
- * to {@link TemporaryData} object and produces a {@link StreamSource}.
+ * to {@link org.apache.axiom.util.blob.OverflowBlob} object and produces a {@link StreamSource}.
*/
public class StreamSourceBuilder implements SourceBuilder {
private static final Log log = LogFactory.getLog(StreamSourceBuilder.class);
private final SynapseEnvironment synEnv;
- private TemporaryData tmp;
+ private OverflowBlob tmp;
private InputStream in;
public StreamSourceBuilder(SynapseEnvironment synEnv) {
@@ -50,7 +49,7 @@ public class StreamSourceBuilder impleme
}
public Source getSource(OMElement node) {
- tmp = synEnv.createTemporaryData();
+ tmp = synEnv.createOverflowBlob();
OutputStream out = tmp.getOutputStream();
try {
node.serialize(out);
Modified: synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/util/TextFileDataSourceTest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/util/TextFileDataSourceTest.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/util/TextFileDataSourceTest.java (original)
+++ synapse/trunk/java/modules/core/src/test/java/org/apache/synapse/util/TextFileDataSourceTest.java Sun Aug 22 10:00:12 2010
@@ -19,6 +19,10 @@
package org.apache.synapse.util;
+import junit.framework.TestCase;
+import org.apache.axiom.om.OMSourcedElement;
+import org.apache.axiom.util.blob.OverflowBlob;
+
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
@@ -26,16 +30,11 @@ import java.io.StringWriter;
import java.nio.charset.Charset;
import java.util.Arrays;
-import junit.framework.TestCase;
-
-import org.apache.axiom.om.OMSourcedElement;
-import org.apache.synapse.commons.util.TemporaryData;
-
public class TextFileDataSourceTest extends TestCase {
private static final Charset UTF8 = Charset.forName("UTF-8");
private OMSourcedElement createSourcedElement(String content, Charset charset) throws IOException {
- TemporaryData tmp = new TemporaryData(4, 1024, "tmp_", ".dat");
+ OverflowBlob tmp = new OverflowBlob(4, 1024, "tmp_", ".dat");
OutputStream out = tmp.getOutputStream();
out.write(content.getBytes(charset.name()));
out.close();
Modified: synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java?rev=987857&r1=987856&r2=987857&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java (original)
+++ synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/nhttp/Axis2HttpRequest.java Sun Aug 22 10:00:12 2010
@@ -19,6 +19,7 @@
package org.apache.synapse.transport.nhttp;
import org.apache.axiom.om.OMOutputFormat;
+import org.apache.axiom.util.blob.OverflowBlob;
import org.apache.axis2.AxisFault;
import org.apache.axis2.Constants;
import org.apache.axis2.addressing.EndpointReference;
@@ -31,28 +32,27 @@ import org.apache.http.Header;
import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.HttpVersion;
-import org.apache.http.nio.util.ContentOutputBuffer;
-import org.apache.http.nio.entity.ContentOutputStream;
import org.apache.http.entity.BasicHttpEntity;
import org.apache.http.message.BasicHttpEntityEnclosingRequest;
import org.apache.http.message.BasicHttpRequest;
+import org.apache.http.nio.entity.ContentOutputStream;
+import org.apache.http.nio.util.ContentOutputBuffer;
import org.apache.http.protocol.HTTP;
import org.apache.synapse.transport.nhttp.util.MessageFormatterDecoratorFactory;
import org.apache.synapse.transport.nhttp.util.NhttpUtil;
-import org.apache.synapse.commons.util.TemporaryData;
import java.io.IOException;
import java.io.OutputStream;
+import java.net.URL;
import java.nio.channels.ClosedChannelException;
-import java.util.Iterator;
import java.util.Map;
-import java.net.URL;
/**
* Represents an outgoing Axis2 HTTP/s request. It holds the EPR of the destination, the
* Axis2 MessageContext to be sent, an HttpHost object which captures information about the
* destination, and a Pipe used to write the message stream to the destination
*/
+@SuppressWarnings({"UnusedDeclaration"})
public class Axis2HttpRequest {
private static final Log log = LogFactory.getLog(Axis2HttpRequest.class);
@@ -142,6 +142,7 @@ public class Axis2HttpRequest {
/**
* Create and return a new HttpPost request to the destination EPR
* @return the HttpRequest to be sent out
+ * @throws IOException in error retrieving the <code>HttpRequest</code>
*/
public HttpRequest getRequest() throws IOException {
@@ -150,7 +151,7 @@ public class Axis2HttpRequest {
httpMethod = "POST";
}
endpointURLPrefix = (String) msgContext.getProperty(NhttpConstants.ENDPOINT_PREFIX);
- HttpRequest httpRequest = null;
+ HttpRequest httpRequest;
if ("POST".equals(httpMethod) || "PUT".equals(httpMethod)) {
@@ -208,9 +209,7 @@ public class Axis2HttpRequest {
Object o = msgContext.getProperty(MessageContext.TRANSPORT_HEADERS);
if (o != null && o instanceof Map) {
Map headers = (Map) o;
- Iterator iter = headers.keySet().iterator();
- while (iter.hasNext()) {
- Object header = iter.next();
+ for (Object header : headers.keySet()) {
Object value = headers.get(header);
if (header instanceof String && value != null && value instanceof String) {
if (!HTTPConstants.HEADER_HOST.equalsIgnoreCase((String) header)) {
@@ -326,7 +325,7 @@ public class Axis2HttpRequest {
* @throws IOException if an exception occurred while writing data
*/
private void setStreamAsTempData(BasicHttpEntity entity) throws IOException {
- TemporaryData serialized = new TemporaryData(256, 4096, "http-nio_", ".dat");
+ OverflowBlob serialized = new OverflowBlob(256, 4096, "http-nio_", ".dat");
OutputStream out = serialized.getOutputStream();
try {
messageFormatter.writeTo(msgContext, format, out, true);
@@ -343,8 +342,8 @@ public class Axis2HttpRequest {
* @throws IOException if an exception occurred while writing data
*/
private void writeMessageFromTempData(OutputStream out) throws IOException {
- TemporaryData serialized =
- (TemporaryData) msgContext.getProperty(NhttpConstants.SERIALIZED_BYTES);
+ OverflowBlob serialized =
+ (OverflowBlob) msgContext.getProperty(NhttpConstants.SERIALIZED_BYTES);
try {
serialized.writeTo(out);
} finally {