Kattubadi Basher Ahamed wrote:
> Ruwan,
>  I agree. That works for synchronous call 
>
>
> All request and response messages I will send to same queue.
>
> In Asynchronous call , we wont wait for response in ESB, we can set property 
> for request message before sending to the queue. The response we wont get 
> immediate from the back end so the flow terminates there.
>
> Example: Asynchronous call I have 2 flows one for request processing and 
> another for response processing.
> Request flow once I received message from client I will save req message to 
> queue and I will send message to back end service and I wont wait for 
> response in request flow ,I will send response to client says that I received 
> your request it is under process.
>
> In response flow , assume after 2 days I got response from back end to my 
> ESB,my response flow will pick up and send to the client that response. So in 
> this case how we handle UUID for both request and response.
>
>
>   
OK, for this particular case you should be using the WS-Addressing to 
relate the response to the client with a Reply-To header. Isn't it? if 
that is the case you could use the wsa:Relates-To header to find the 
correct request by looking at the message id.

Request wsa:MessageId == Response wsa:Relates-To header

Thanks,
Ruwan
> For audit purpose I need to take request message + response message and put 
> under one SOAP message.
>
>
> Thanks
> basher
>
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On 
> Behalf Of Ruwan Linton
> Sent: Tuesday, March 31, 2009 10:21 AM
> To: [email protected]
> Subject: Re: [esb-java-dev] Logging
>
> Kattubadi Basher Ahamed wrote:
>   
>> Thanks.
>> I agree I can set UUID for the property but..
>>
>> Once I receive response from the back end to message flow how I know that, 
>> that response is for the 1st request-response or 2nd request-response.
>>   
>>     
> So basically you send the response message to the same queue right? so when 
> the other flow fetches the messages and tries to merge them (request and the 
> response), you can check the equivalence of this property.
>
> Synapse copies all the properties from the request to the response so that 
> this property will be copied back to the response from the request.
>
> Did you get the point? So basically you set the value for the property (for 
> instance lets say "correlator"), then send the request message to the queue 
> and invoke the back end service. Then once the response from the back end 
> service arrives synapse, it copies all the properties in the request message 
> to the response message, so that the property named "correlator" will also be 
> copied and the value will be the same UUID that you set for the request. Then 
> you put the response message to the queue. So, by looking at the messages 
> where the property with key "correlator" have the same value, you can 
> associate the request with the response. If there are messages which doesn't 
> have a mapping another message, the response has not yet been arrived.
>
> Thanks,
> Ruwan
>   
>> -basher
>>
>> -----Original Message-----
>> From: [email protected] 
>> [mailto:[email protected]] On Behalf Of Ruwan Linton
>> Sent: Tuesday, March 31, 2009 9:57 AM
>> To: [email protected]
>> Subject: Re: [esb-java-dev] Logging
>>
>> Hi Basher,
>>
>> You should be adding a UUID for the property with a given Key... and it 
>> should be the same value for the response as well, and since it is a UUID no 
>> tow different requests have the same value for the property. 
>> This way you can correlate the request and the response.
>>
>> Thanks,
>> Ruwan
>>
>> Kattubadi Basher Ahamed wrote:
>>   
>>     
>>> Ruwan,
>>>   Assume we client1 and client2 sends request to ESB, I will add property 
>>> in message context or in header in request flow before sending to queue.
>>> If I receive response first for the client2-response instead of 
>>> client1-response.how I need to correlate which response message need to set 
>>> which request property.
>>>
>>>
>>> thanks
>>>  
>>>
>>> -----Original Message-----
>>> From: [email protected]
>>> [mailto:[email protected]] On Behalf Of Ruwan Linton
>>> Sent: Tuesday, March 31, 2009 8:52 AM
>>> To: [email protected]
>>> Subject: Re: [esb-java-dev] Logging
>>>
>>> Hi Basher,
>>>
>>> I think usage of the message id for this purpose is not the correct 
>>> approach for this scenario. Assuming that this queue is an internal Java 
>>> queue which stores the message context object you could use a property with 
>>> a given name to associate the request and the response, so in the response 
>>> flow these properties will be copied to the response.
>>>
>>> If you are storing these messages as SOAP or XML messages in a JMS queue or 
>>> any other external queue I propose you to use a custom SOAP header to keep 
>>> the information about the request / response association. In this 
>>> particular case you will need to add the value for the response message 
>>> before reporting to the queue, well same with the request I guess. You 
>>> could still use a property to correlate the request and the response in the 
>>> synapse flow.
>>>
>>> Thanks,
>>> Ruwan
>>>
>>> Kattubadi Basher Ahamed wrote:
>>>   
>>>     
>>>       
>>>> HI,
>>>>  I am designing Logging frame work in ESB. 
>>>> My requirement is from ESB I will send request and reply to one Queue, and 
>>>> another flow called audit flow  picks the request and response from that 
>>>> Queue for particular client request/response and merge together and put 
>>>> into Audit queue.
>>>> For synchronous call I can provide same message id for request and reply   
>>>> and audit flow can picks the message from the queue with similar messageid 
>>>> messages and merge together.
>>>> In case of Asynchronous message how we will maintain similar messageid for 
>>>> both request and reply.
>>>>
>>>> Or is there any  suggestion to handle this or any  other design  you 
>>>> propose.
>>>>
>>>> Please reply .
>>>>
>>>> Thanks in advance
>>>> Basher
>>>> _______________________________________________
>>>> Esb-java-dev mailing list
>>>> [email protected]
>>>> https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
>>>>
>>>>   
>>>>     
>>>>       
>>>>         
>>> --
>>> Ruwan Linton
>>> Senior Software Engineer & Product Manager; WSO2 ESB; 
>>> http://wso2.org/esb
>>> WSO2 Inc.; http://wso2.org
>>> email: [email protected]; cell: +94 77 341 3097
>>> blog: http://ruwansblog.blogspot.com
>>>
>>>
>>> _______________________________________________
>>> Esb-java-dev mailing list
>>> [email protected]
>>> https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
>>>
>>> _______________________________________________
>>> Esb-java-dev mailing list
>>> [email protected]
>>> https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
>>>
>>>   
>>>     
>>>       
>> --
>> Ruwan Linton
>> Senior Software Engineer & Product Manager; WSO2 ESB; 
>> http://wso2.org/esb
>> WSO2 Inc.; http://wso2.org
>> email: [email protected]; cell: +94 77 341 3097
>> blog: http://ruwansblog.blogspot.com
>>
>>
>> _______________________________________________
>> Esb-java-dev mailing list
>> [email protected]
>> https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
>>
>> _______________________________________________
>> Esb-java-dev mailing list
>> [email protected]
>> https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
>>
>>   
>>     
>
>
> --
> Ruwan Linton
> Senior Software Engineer & Product Manager; WSO2 ESB; http://wso2.org/esb
> WSO2 Inc.; http://wso2.org
> email: [email protected]; cell: +94 77 341 3097
> blog: http://ruwansblog.blogspot.com
>
>
> _______________________________________________
> Esb-java-dev mailing list
> [email protected]
> https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
>
> _______________________________________________
> Esb-java-dev mailing list
> [email protected]
> https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev
>
>   


-- 
Ruwan Linton
Senior Software Engineer & Product Manager; WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org
email: [email protected]; cell: +94 77 341 3097
blog: http://ruwansblog.blogspot.com


_______________________________________________
Esb-java-dev mailing list
[email protected]
https://wso2.org/cgi-bin/mailman/listinfo/esb-java-dev

Reply via email to