[ 
https://issues.apache.org/jira/browse/SYNAPSE-1023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15306337#comment-15306337
 ] 

Hiranya Jayathilaka edited comment on SYNAPSE-1023 at 5/30/16 7:35 AM:
-----------------------------------------------------------------------

I'm having issues with this patch. First I had to modify it a bit so that it 
can be applied to the latest trunk head. Once I got it applied I noticed that 
it doesn't work in some cases. The test case you have provided (with a proxy 
service) works fine. But if I try the same with an API, it fails. Try the 
following configuration.

{code}
<api name="TestAPI" context="/test">
    <resource methods="POST" url-mapping="/content_length_out">
        <inSequence>
            <send>
                <endpoint key="echo"/>
            </send>
        </inSequence>
        <outSequence>
            <property name="DISABLE_CHUNKING" value="true" scope="axis2"/>
            <send/>
        </outSequence>
    </resource>
</api>
{code}

This results in the following error:

{noformat}
2016-05-30 00:28:57,499 [-] [PassThroughMessageProcessor-6] ERROR 
PassThroughHttpSender Failed to submit the response
org.apache.axis2.AxisFault: A header representing a Message Addressing Property 
is not valid and the message cannot be processed
        at 
org.apache.synapse.transport.passthru.SourceResponse.processChunkingOptions(SourceResponse.java:212)
        at 
org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:513)
        at 
org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:310)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:431)
        at 
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:154)
        at 
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:275)
        at 
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:84)
        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:68)
        at 
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
        at org.apache.synapse.rest.Resource.process(Resource.java:298)
        at org.apache.synapse.rest.API.process(API.java:301)
        at 
org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:77)
        at 
org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:51)
        at 
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:182)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:444)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:221)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:169)
        at 
org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:227)
        at 
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:695)
2016-05-30 00:28:57,503 [-] [PassThroughMessageProcessor-6] ERROR Axis2Sender 
Unexpected error sending message back
org.apache.axis2.AxisFault: Failed to submit the response
        at 
org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:641)
        at 
org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:312)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:431)
        at 
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:154)
{noformat}


was (Author: hiranya):
I'm having issues with this patch. First I had to modify it a bit so that it 
can be applied to the latest trunk head. Once I got it applied I noticed that 
it doesn't work in some cases. The test case you have provided (with a proxy 
service) works fine. But if I try the same with an API, it fails. Try the 
following configuration.

{code}
<api name="TestAPI" context="/test">
    <resource methods="POST" url-mapping="/content_length_out">
        <inSequence>
            <send>
                <endpoint key="echo"/>
            </send>
        </inSequence>
        <outSequence>
            <property name="DISABLE_CHUNKING" value="true" scope="axis2"/>
            <send/>
        </outSequence>
    </resource>
</api>
{code}

This results in the following error:

{{noformat}}
2016-05-30 00:28:57,499 [-] [PassThroughMessageProcessor-6] ERROR 
PassThroughHttpSender Failed to submit the response
org.apache.axis2.AxisFault: A header representing a Message Addressing Property 
is not valid and the message cannot be processed
        at 
org.apache.synapse.transport.passthru.SourceResponse.processChunkingOptions(SourceResponse.java:212)
        at 
org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:513)
        at 
org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:310)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:431)
        at 
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:154)
        at 
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:275)
        at 
org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:84)
        at 
org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:68)
        at 
org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:114)
        at org.apache.synapse.rest.Resource.process(Resource.java:298)
        at org.apache.synapse.rest.API.process(API.java:301)
        at 
org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:77)
        at 
org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:51)
        at 
org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:182)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:444)
        at 
org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:221)
        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:169)
        at 
org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:227)
        at 
org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:173)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:695)
2016-05-30 00:28:57,503 [-] [PassThroughMessageProcessor-6] ERROR Axis2Sender 
Unexpected error sending message back
org.apache.axis2.AxisFault: Failed to submit the response
        at 
org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:641)
        at 
org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:312)
        at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:431)
        at 
org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:154)
{{noformat}}

> 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
>
>
> {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: dev-unsubscr...@synapse.apache.org
For additional commands, e-mail: dev-h...@synapse.apache.org

Reply via email to