[
https://issues.apache.org/jira/browse/SYNAPSE-1023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15306847#comment-15306847
]
Andreas Veithen commented on SYNAPSE-1023:
------------------------------------------
{noformat}
+ private long getStreamLength(MessageContext msgContext) throws IOException
{
+
+ OverflowableBlob serialized = Blobs.createOverflowableBlob(4096,
"http-nio_",
+ ".dat", FileUtils.getTempDirectory());
+ OutputStream out = serialized.getOutputStream();
+ try {
+ MessageProcessorSelector.getMessageFormatter(msgContext).
+ writeTo(msgContext,
PassThroughTransportUtils.getOMOutputFormat(msgContext), out, true);
+ } finally {
+ out.close();
+ }
+ return serialized.getSize();
+ }
{noformat}
That doesn't make sense. You don't need to create a Blob if you never read the
content afterwards. Just write the content to a CountingOuputStream chained to
a NullOutputStream. Or alternatively, follow Hiranya's suggestion, serialize
the content with preserve=false, and then use the content of the blob later to
write the message to the transport.
> DISABLE_CHUNKING property is not honored in the response path of PT
> -------------------------------------------------------------------
>
> Key: SYNAPSE-1023
> URL: https://issues.apache.org/jira/browse/SYNAPSE-1023
> Project: Synapse
> Issue Type: Bug
> Components: Core, Transports
> Reporter: Vanjikumaran Sivajothy
> Assignee: Hiranya Jayathilaka
> Priority: Blocker
> Attachments: SYNAPSE-1023-updated.diff, SYNAPSE-1023.diff,
> SYNAPSE-1023_withOverflowableBlob.diff
>
>
> {code}
> <proxy name="StockQuoteProxy">
> <target>
> <inSequence>
> <send>
> <endpoint>
> <address
> uri="http://localhost:8080/RESTfulExample/rest/hello/data"/>
> </endpoint>
> </send>
> </inSequence>
> <outSequence>
> <property name="DISABLE_CHUNKING" value="true" scope="axis2"/>
> <send/>
> </outSequence>
> </target>
> </proxy>
> {code}
>
> I have mentioned the disable chunking in response path and it is not honored,
> please check the curl request.
> {code}
> curl -v -XPOST -H "Content-type: application/json" -d '{"Hello": "World"}'
> 'http://localhost:8280/services/StockQuoteProxy'
> * Trying ::1...
> * Connected to localhost (::1) port 8280 (#0)
> > POST /services/StockQuoteProxy HTTP/1.1
> > Host: localhost:8280
> > User-Agent: curl/7.43.0
> > Accept: */*
> > Content-type: application/json
> > Content-Length: 18
> >
> * upload completely sent off: 18 out of 18 bytes
> < HTTP/1.1 201 Created
> < Server: Apache-Coyote/1.1
> < Date: Sat, 28 May 2016 22:54:29 GMT
> < Transfer-Encoding: chunked
> <
> * Connection #0 to host localhost left intact
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]