On Thu, Aug 4, 2011 at 5:12 PM, Deepal Jayasinghe <dee...@opensource.lk>wrote:

>  Amila,
>
> I looked and the code segment you mentioned, but that is to process long
> running services. We had somewhat similar code to process request comes with
> replyTo header. If no one has removed then, we can fix the issue in AMR.
>

This is for processing addressing headers with replyTo header.

if ((!WSDLUtil.

isOutputPresentForMEP(mep))
                    || (replyTo != null && !replyTo.hasAnonymousAddress()))
{
                AsyncMessageReceiverWorker worker = new
AsyncMessageReceiverWorker(
                        messageCtx);
                messageCtx.getEnvelope().build();

messageCtx.getConfigurationContext().getThreadPool().execute(
                        worker);
                return;
            }

Can you please show the code you talk about in a previous release code any
revision?

thanks,
Amila.



> Thanks,
> Deepal
>
>
> Do you mean this code
>
> if (messageCtx.isPropertyTrue(DO_ASYNC)
>                 || ((messageCtx.getParameter(DO_ASYNC) != null) &&
>
> JavaUtils.isTrueExplicitly(messageCtx.getParameter(DO_ASYNC).getValue()))) {
>
>             String mep = messageCtx.getAxisOperation()
>                     .getMessageExchangePattern();
>             EndpointReference replyTo = messageCtx.getReplyTo();
>             // In order to invoke the service in the ASYNC mode, the
> request
>             // should contain ReplyTo header if the MEP of the service is
> not
>             // InOnly type
>             if ((!WSDLUtil.isOutputPresentForMEP(mep))
>                     || (replyTo != null && !replyTo.hasAnonymousAddress()))
> {
>                 AsyncMessageReceiverWorker worker = new
> AsyncMessageReceiverWorker(
>                         messageCtx);
>                 messageCtx.getEnvelope().build();
>
> messageCtx.getConfigurationContext().getThreadPool().execute(
>                         worker);
>                 return;
>             }
>         }
>
> It is there in the trunk.
>
> you need to use the  public static final String DO_ASYNC =
> "messageReceiver.invokeOnSeparateThread"; at the server side.
>
> thanks,
> Amila.
>
> On Thu, Aug 4, 2011 at 6:13 AM, Deepal jayasinghe <deep...@gmail.com>wrote:
>
>>  Guys,
>> A user called "Todd" recently observed [1] that we have issues with
>> non-blocking invocation with two channels. I went and tested it and I was
>> able to re-create the issue. While debugging the code I realized that
>> something has gone wrong. IIRC for the server side we had a check for
>> replyTo header and if the replyTo is not Anonymous then we send the ACK
>> through the back channel. And once the invocation is complete we send the
>> reply through the replyTo address. However, while debugging the code I
>> realized that someone has removed those code, so now the logic does not
>> work.
>>
>> Since I went through the code after long time and not fully updated with
>> the source code, I could not able to find the exact location of the code.
>> So, if anyone of you have removed the code please let us know, then we can
>> fix it correctly. Else I have to fix it on the AbstractMessageReceiver.
>>
>> Thanks,
>> Deepal
>>
>> [1] 
>> https://issues.apache.org/jira/browse/AXIS2-5111<https://issues.apache.org/jira/browse/AXIS2-5111>
>>
>
>
>
> --
> Amila Suriarachchi
> WSO2 Inc.
> blog: http://amilachinthaka.blogspot.com/
>
>


-- 
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/

Reply via email to