Hi Viraj/Isuru,

Thanks for the response. I debug the code and found that message is cloning
properly with buffer. But the problem is when try to send the request body
to backend by the TargetHandler, the buffer has zero length content. That
is why, it does not send the message body to backend. need to find when it
get cleared and will debug further.

Thanks,
Nuwanw

On Thu, Mar 10, 2016 at 9:32 AM, Isuru Udana <[email protected]> wrote:

> Hi Nuwan,
>
> We are cloning the message because we need to keep the original message to
> proceed with the rest of the meditators in the message flow. We we do not
> clone at the Call, since the stream is getting consumed for the first
> invocation, we won't be able to continue.
>
> Thanks.
>
> On Wed, Mar 9, 2016 at 5:41 PM, Viraj Senevirathne <[email protected]>
> wrote:
>
>> Hi Nuwan,
>>
>> In call mediator if OUT_ONLY is true it will clone the message and will
>> send that new message context to the backend. If there are other mediators
>> after call mediator mediation will continue with the original message
>> context. This is happening as call mediator is a non blocking sender (It
>> will not wait).
>>
>> But if you don't want cloning you will have to use call mediator in
>> *blocking* mode. Then original message context will be passed and it
>> will wait till request send out to the backend before starting mediating
>> subsequent mediators.
>>
>> Thank You,
>>
>>
>> On Wed, Mar 9, 2016 at 5:32 PM, Nuwan Wimalasekara <[email protected]>
>> wrote:
>>
>>> Hi
>>>
>>> Call mediator is not submitting the request body to backend service if
>>> OUT_ONLY is true. When the TargetHandler try to send the message body by
>>> reading the Buffer_source, It already got cleared.
>>>
>>> The problem is that inside the call mediator, messageContext is cloned.
>>> Then the buffer is not created in Pipe class. so the buffer has zero length
>>> content.
>>> Is there any reason to clone the message if OUT_ONLY is true inside the
>>> call mediator?
>>>
>>> if we remove cloning the message and proceed with the incomming message
>>> context, the issue is resolved.
>>>
>>>
>>> boolean outOnlyMessage =
>>> "true".equals(synInCtx.getProperty(SynapseConstants.OUT_ONLY));
>>>
>>>         // Prepare the outgoing message context
>>>         MessageContext synOutCtx = null;
>>>         if (outOnlyMessage) {
>>>             try {
>>>                 *synOutCtx =
>>> MessageHelper.cloneMessageContext(synInCtx);*
>>>             } catch (AxisFault axisFault) {
>>>                 handleException("Error occurred while cloning msg
>>> context", axisFault, synInCtx);
>>>             }
>>>         } else {
>>>             synOutCtx = synInCtx;
>>>         }
>>>
>>>
>>> Proxy configuration introduce issue.
>>>
>>>       <inSequence>
>>>          <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
>>>          <property name="OUT_ONLY" value="true"/>
>>>          <call>
>>>             <endpoint>
>>>                <address uri="
>>> http://localhost:9000/services/SimpleStockQuoteService"/>
>>>             </endpoint>
>>>          </call>
>>>       </inSequence>
>>>
>>> [1] https://wso2.org/jira/browse/ESBJAVA-4469
>>>
>>> Thanks,
>>> Nuwanw
>>>
>>> --
>>> Nuwan Wimalasekara
>>> Senior Software Engineer - Test Automation
>>> WSO2, Inc.: http://wso2.com
>>> lean. enterprise. middleware
>>>
>>> phone: +94 71 668 4620
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Dev mailing list
>>> [email protected]
>>> http://wso2.org/cgi-bin/mailman/listinfo/dev
>>>
>>>
>>
>>
>> --
>> Viraj Senevirathne
>> Software Engineer; WSO2, Inc.
>>
>> Mobile : +94 71 958 0269
>> Email : [email protected]
>>
>
>
>
> --
> *Isuru Udana*
> Associate Technical Lead
> WSO2 Inc.; http://wso2.com
> email: [email protected] cell: +94 77 3791887
> blog: http://mytecheye.blogspot.com/
>



-- 
Nuwan Wimalasekara
Senior Software Engineer - Test Automation
WSO2, Inc.: http://wso2.com
lean. enterprise. middleware

phone: +94 71 668 4620
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to