When B gets a message he has a corresponding  messageContext for that
message , and that message context will have all the required addressing
information. So what you have to do is , create a new message context by
coping the stuff that you need. Btw are you going to just forward the
SOAP message or going to modify that ?

In either case , Create a new message context , and copy the SOAP
envelope  to it , and set the wsa:To (to erp) in the new message context
, then create an operation client , finlay send the message using
OperationClient. In simple term your scenario boils down as follows;
  A send a request to B , so A is the client B is the server ,
next B send a rer to N , so B become the client and N become the server ,
so simply think B as a client :)

Michele Mazzucco wrote:

>Hi Deepal,
>
>I've got just a question after your explanation: how can B forward the
>message to node N? I mean, which header should B modify/set to obtain
>that result (please note also that several N nodes can exist, but only B
>is aware of that)?
>
>
>Thanks in advance,
>Michele
>
>Deepal Jayasinghe wrote:
>  
>
>>Hi Michele ;
>>
>>I am sorry for late reply.
>>pls see my in line comments
>>
>>Michele Mazzucco wrote:
>>
>>    
>>
>>>Hi all,
>>>
>>>I would like to use the callback features, but my architecture uses a
>>>piece of software acting like a "broker" to handle incoming requests:
>>>
>>>
>>>      A              B
>>>Client ----------> Broker ---------> Node satisfying the request (N)
>>> |                     |
>>> |                             |
>>> |          C (reply)         |
>>> <---------------------------------------
>>>
>>>
>>>Can the node N use the callback to return the result to the client?
>>>      
>>>
>>yes it can , but as I understood without using callback you can achieve
>>the same goal,  correct me if im wrong
>>  step1:
>>    A send a request to B by putting address of B as TO and Address of A
>>as ReplyTo , and invocation of the A should be sendReceiveNonBlocking
>>
>>  strp 2 :
>>   When B gets the req and it does whatever processing and forward that
>>to Node N and that invocation can be  fireAndForget invocation (B will
>>not change replyTo address)
>>  step 3:
>>   Once N get the request it will process the message and send the
>>response to A since message has replyTo address.
>>   (if the invocation at the N takes long time , then you can use
>>AsyncMessageReciver , which uses call back inside that)
>>
>>    
>>
>>>If no, what should I do? Could fireAndForget() messages (A, B and C)
>>>be fine (in case together with options like relatesTo, messageId, etc.)?
>>>      
>>>
>>If A is client running inside a Server then you can just call
>>fireAndForget at A , by putting replyTo addresses as server address.
>>
>>    
>>
>>>Any suggestions are welcome.
>>>
>>>
>>>
>>>Thanks in advance,
>>>Michele
>>>
>>>
>>>      
>>>
>
>
>  
>

-- 
Thanks,
Deepal
................................................................
~Future is Open~ 



Reply via email to