Author: thomas.diesler(a)jboss.com
Date: 2008-06-03 07:47:03 -0400 (Tue, 03 Jun 2008)
New Revision: 7281
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/HTTPRemotingConnection.java
Log:
[JBWS-2124] Expose http chunking through SOAPConnection
Modified:
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/HTTPRemotingConnection.java
===================================================================
---
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/HTTPRemotingConnection.java 2008-06-03
11:05:24 UTC (rev 7280)
+++
stack/native/trunk/modules/core/src/main/java/org/jboss/ws/core/client/HTTPRemotingConnection.java 2008-06-03
11:47:03 UTC (rev 7281)
@@ -114,9 +114,6 @@
// HTTPClientInvoker conect sends gratuitous POST
//
http://jira.jboss.com/jira/browse/JBWS-711
clientConfig.put(Client.ENABLE_LEASE, false);
-
- // Enable chunked encoding. This is the default size.
- clientConfig.put("chunkedLength", "1024");
}
public boolean isClosed()
@@ -315,34 +312,37 @@
{
populateHeaders(reqMessage, metadata);
- if (chunkedLength != null)
+ // Enable chunked encoding. This is the default size.
+ int chunkSizeValue = (chunkedLength != null ? chunkedLength : 1024);
+
+ // Overwrite, through endpoint config
+ if (msgContext != null)
{
- clientConfig.put("chunkedLength", chunkedLength.toString());
- }
- else if (msgContext != null)
- {
EndpointMetaData epMetaData = msgContext.getEndpointMetaData();
CommonConfig config = epMetaData.getConfig();
- // chunksize settings
- String chunkSizeValue =
config.getProperty(EndpointProperty.CHUNKED_ENCODING_SIZE);
- int chunkSize = chunkSizeValue != null ? Integer.valueOf(chunkSizeValue) :
-1;
- boolean isFastInfoset =
epMetaData.isFeatureEnabled(FastInfosetFeature.class);
- if (chunkSize > 0 && isFastInfoset == false)
- {
- clientConfig.put("chunkedLength", chunkSizeValue);
- }
- else
- {
- clientConfig.remove("chunkedLength");
- }
+ String sizeValue =
config.getProperty(EndpointProperty.CHUNKED_ENCODING_SIZE);
+ if (sizeValue != null)
+ chunkSizeValue = Integer.valueOf(sizeValue);
+
+ if (epMetaData.isFeatureEnabled(FastInfosetFeature.class))
+ chunkSizeValue = 0;
}
+
+ if (chunkSizeValue > 0)
+ {
+ clientConfig.put("chunkedLength", new Integer(chunkSizeValue));
+ }
+ else
+ {
+ clientConfig.remove("chunkedLength");
+ }
}
else
{
metadata.put("TYPE", "GET");
}
-
+
if (callProps != null)
{
Iterator it = callProps.entrySet().iterator();