Hi Ajith,

I have already added a fix to the NPE and currently testing that. Just
wanted to let you know that this is happening due to a configuration issue.
The code was written assuming that this NPE cannot occur in proper
configurations. But there can be some edge cases where this can become
null. I am currently investigating on those.

On Tue, Oct 6, 2015 at 6:52 PM, Ajith Vitharana <aji...@wso2.com> wrote:

>
>
> On Tue, Oct 6, 2015 at 5:06 AM, Chanaka Fernando <chana...@wso2.com>
> wrote:
>
>> Hi Ajith,
>>
>> The scenario which you have tested is not correct. If you put <send/>
>> mediator in the outSequence, since you are cloning the request and send to
>> 2 back ends, ESB will get 2 responses and tries to send back 2 responses to
>> client and that is causing this exception. What happens is that ESB will
>> send back the first response and then release the connection. When it tries
>> to send back the 2nd response, If some other thread has already reused that
>> connection, the "request" will be null and that is causing the NPE.
>>
>> If you are putting a <send/> mediator in the outSequence, make sure you
>> aggregate the responses before sending the response back.
>>
>
> Yes. I understood the logic.  But my concerns was returning NPE.
>
> -Ajith
>
>>
>> On Mon, Oct 5, 2015 at 9:23 PM, Ajith Vitharana <aji...@wso2.com> wrote:
>>
>>>
>>>
>>> On Mon, Oct 5, 2015 at 5:59 AM, Chanaka Fernando <chana...@wso2.com>
>>> wrote:
>>>
>>>> Hi Ajith,
>>>>
>>>> We have already identified this issue and currently working on a fix.
>>>> Thanks for reporting this issue.
>>>>
>>>
>>> Thanks for looking to this.
>>>
>>> -Ajith
>>>
>>>>
>>>> On Mon, Oct 5, 2015 at 12:56 AM, Ajith Vitharana <aji...@wso2.com>
>>>> wrote:
>>>>
>>>>> Hi All
>>>>>
>>>>> I did a slight change to sample [1] (used <send/> instead of <drop/>
>>>>> at the outSequence) , now I'm getting following exception.
>>>>>
>>>>> [1]
>>>>> https://docs.wso2.com/display/IntegrationPatterns/Durable+Subscriber
>>>>>
>>>>>
>>>>>
>>>>> [2015-10-04 15:19:30,891] DEBUG - wire << "[\r][\n]"
>>>>> [2015-10-04 15:19:30,892] ERROR - PassThroughHttpSender Failed to
>>>>> submit the response
>>>>> j*ava.lang.NullPointerException*
>>>>> * at
>>>>> org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)*
>>>>> * at
>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)*
>>>>> * at
>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)*
>>>>> * at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)*
>>>>> at
>>>>> org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
>>>>> at
>>>>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:444)
>>>>> at
>>>>> org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:102)
>>>>> at
>>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
>>>>> at
>>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
>>>>> at
>>>>> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
>>>>> at
>>>>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:297)
>>>>> at
>>>>> org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:529)
>>>>> at
>>>>> org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
>>>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>> at
>>>>> org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:247)
>>>>> at
>>>>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>>>>> at
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>> at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>> [2015-10-04 15:19:30,894] ERROR - Axis2Sender
>>>>> Content-Type:application/soap+xml; charset=UTF-8;
>>>>> action="urn:getQuoteResponse",<?xml version='1.0'
>>>>> encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
>>>>> http://www.w3.org/2003/05/soap-envelope";><soapenv:Body/></soapenv:Envelope>
>>>>> Unexpected error sending message back
>>>>> org.apache.axis2.AxisFault: Failed to submit the response
>>>>> at
>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.handleException(PassThroughHttpSender.java:610)
>>>>> at
>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:269)
>>>>> at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
>>>>> at
>>>>> org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:212)
>>>>> at
>>>>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:444)
>>>>> at
>>>>> org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:102)
>>>>> at
>>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
>>>>> at
>>>>> org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
>>>>> at
>>>>> org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
>>>>> at
>>>>> org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:297)
>>>>> at
>>>>> org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:529)
>>>>> at
>>>>> org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172)
>>>>> at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
>>>>> at
>>>>> org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:247)
>>>>> at
>>>>> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
>>>>> at
>>>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>>>> at
>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>>>> at java.lang.Thread.run(Thread.java:745)
>>>>> *Caused by: java.lang.NullPointerException*
>>>>> * at
>>>>> org.apache.synapse.transport.passthru.util.SourceResponseFactory.create(SourceResponseFactory.java:64)*
>>>>> * at
>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:462)*
>>>>> * at
>>>>> org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:267)*
>>>>> * ... 16 more*
>>>>> [2015-10-04 15:19:30,898]  INFO - LogMediator To:
>>>>> http://www.w3.org/2005/08/addressing/anonymous, WSAction: ,
>>>>> SOAPAction: , MessageID: urn:uuid:4acfe16a-ee7d-4ab6-b35b-f0e3946160c9,
>>>>> Direction: response, MESSAGE = Executing default "fault" sequence,
>>>>> ERROR_CODE = 0, ERROR_MESSAGE = Content-Type:application/soap+xml;
>>>>> charset=UTF-8; action="urn:getQuoteResponse",<?xml version='1.0'
>>>>> encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
>>>>> http://www.w3.org/2003/05/soap-envelope";><soapenv:Body/></soapenv:Envelope>
>>>>> Unexpected error sending message back, Envelope: <?xml version='1.0'
>>>>> encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
>>>>> http://www.w3.org/2003/05/soap-envelope";><soapenv:Body><ns:getQuoteResponse
>>>>> xmlns:ns="http://services.samples";><ns:return xmlns:ax21="
>>>>> http://services.samples/xsd"; xmlns:xsi="
>>>>> http://www.w3.org/2001/XMLSchema-instance";
>>>>> xsi:type="ax21:GetQuoteResponse"><ax21:change>-2.3202266677546106</ax21:change><ax21:earnings>12.650295806384626</ax21:earnings><ax21:high>-152.04270426044403</ax21:high><ax21:last>154.1916889021466</ax21:last><ax21:lastTradeTimestamp>Sun
>>>>> Oct 04 15:19:30 EDT
>>>>> 2015</ax21:lastTradeTimestamp><ax21:low>158.83675994993015</ax21:low><ax21:marketCap>4.917881726394041E7</ax21:marketCap><ax21:name>foo
>>>>> Company</ax21:name><ax21:open>158.0551704762858</ax21:open><ax21:peRatio>-17.10342133824433</ax21:peRatio><ax21:percentageChange>1.6236826882815951</ax21:percentageChange><ax21:prevClose>-142.89902112648588</ax21:prevClose><ax21:symbol>foo</ax21:symbol><ax21:volume>15263</ax21:volume></ns:return></ns:getQuoteResponse></soapenv:Body></soapenv:Envelope>
>>>>> [2015-10-04 15:21:30,364]  WARN - SourceHandler Connection time out
>>>>> after request is read: http-incoming-10
>>>>>
>>>>> -Ajith
>>>>>
>>>>> --
>>>>> Ajith Vitharana.
>>>>>
>>>>> WSO2 Inc. - http://wso2.com
>>>>> Email  : aji...@wso2.com
>>>>> Blog    : http://vitharana.org
>>>>> Mobile : +1-812-360-5335
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> --
>>>> Chanaka Fernando
>>>> Senior Technical Lead
>>>> WSO2, Inc.; http://wso2.com
>>>> lean.enterprise.middleware
>>>>
>>>> mobile: +94 773337238
>>>> Blog : http://soatutorials.blogspot.com
>>>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
>>>> Twitter:https://twitter.com/chanakaudaya
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Ajith Vitharana.
>>>
>>> WSO2 Inc. - http://wso2.com
>>> Email  : aji...@wso2.com
>>> Blog    : http://vitharana.org
>>> Mobile : +1-812-360-5335
>>>
>>>
>>
>>
>> --
>> --
>> Chanaka Fernando
>> Senior Technical Lead
>> WSO2, Inc.; http://wso2.com
>> lean.enterprise.middleware
>>
>> mobile: +94 773337238
>> Blog : http://soatutorials.blogspot.com
>> LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
>> Twitter:https://twitter.com/chanakaudaya
>>
>>
>>
>>
>>
>
>
> --
> Ajith Vitharana.
>
> WSO2 Inc. - http://wso2.com
> Email  : aji...@wso2.com
> Blog    : http://vitharana.org
> Mobile : +1-812-360-5335
>
>


-- 
--
Chanaka Fernando
Senior Technical Lead
WSO2, Inc.; http://wso2.com
lean.enterprise.middleware

mobile: +94 773337238
Blog : http://soatutorials.blogspot.com
LinkedIn:http://www.linkedin.com/pub/chanaka-fernando/19/a20/5b0
Twitter:https://twitter.com/chanakaudaya
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to