<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>Hi Emile,</span></div><div><span> Thanks for the info, I actually had extended SimpleRpcServer. I had a simple override for byte[] HandleSimpleCall(...) that's where I started to experience the issue of the client not behaving synchronously. That's why I started down the path of using BasicGet on the server.</span></div><div><span></span> </div><div><span>Thanks to you clarifying that HandleSimpleCall() is what I should be using I found the bug in how I was modifying the out param 'replyProperties' incorrectly which is why the message was not being delivered.</span></div><div><span></span> </div><div><span>Thanks, what I wanted to achieve here looks to be working now.</span></div><div><span></span><br>-mp</div><div> </div><div style="font-family: times new roman, new york, times, serif;
font-size: 12pt;"><div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><font size="2" face="Arial"><div style="margin: 5px 0px; padding: 0px; border: 1px solid rgb(204, 204, 204); line-height: 0; font-size: 0px;" class="hr" contentEditable="false" readonly="true"></div><b><span style="font-weight: bold;">From:</span></b> Emile Joubert <emile@rabbitmq.com><br><b><span style="font-weight: bold;">To:</span></b> mp <mpxr@yahoo.com.au><br><b><span style="font-weight: bold;">Cc:</span></b> rabbitmq-discuss@lists.rabbitmq.com<br><b><span style="font-weight: bold;">Sent:</span></b> Tuesday, 10 May 2011 9:40 PM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [rabbitmq-discuss] Synchronous Message Response<br></font><br>Hi,<br><br>On 10/05/11 02:40, mp wrote:<br>> <br>> var client = new SimpleRpcClient(model, queueName)<br><br>The first thing to check is whether you need RPC.
It is often possible and better to design your system in a way that the same client does not need the server response immediately.<br><br>If you do need RPC then the comments in the SimpleRpcClient and SimpleRpcServer classes provide guidance for their use.<br><br>> byte[] response;//...<br>> <br>> //how do I send a response?<br><br>In the server, if the request requires a response then this is provided by the return value of the HandleSimpleCall() method. If the message requires no response then HandleSimpleCast() is called instead and no response is sent.<br><br>> client side:<br>> <br>> //what does the client do to retrieve the ACK and RESPONSE.<br><br>Messages from the server are acknowledged internally in the SimpleRpcClient implementation. The server response is available as the return value of the Call() method.<br><br><br><br><br>-Emile<br><br><br></div></div></div></body></html>