Hello Sachin,
Thanks a lot for the explanation, I do understand the process now, it was VERY helpful.
But I dicovered that my problem was due to security. I told you I did not have any error messages. It was not the case. I did not get any messages in the Messages tab or Results tab. But after I commented out END CONVERSATION line I did not get any messages in the TargetQueue too. So I took a look what exactly I had in the InitiatorQueue. I did have my output to Grid so I could see only the beginning of the msg_body. I new first lines were some XML before the actual lines of messages, so I copied and pasted into text editor. The mesages were:
?<?xml version="1.0"?><Error xmlns="-8494
You'>http://schemas.microsoft.com/SQL/ServiceBroker/Error"><Code>-8494</Code><Description>You do not have permission to access the service 'ResponseService'.</Description></Error>
I started to look up what do I have on the Broker Security. I also enabled Cross Database Ownership Chaining and changed ownership of both databases to SA and logged in as SA (connected my MS as SA). I could not access the service. So in following the article:
http://msdn2.microsoft.com/en-us/library/ms166036.aspx
GRANT
CONTROL ONSERVICE :: ResponseService TO PublicAnd it Finally Worked! I was able to see my sent and response messages in the TargetQueue.
Couple of comments:
First, the GRANT statement is case-sensitive, when I typed Responseservice it could not find it. I install all my servers as AS_CI (Accent Sensitive Case Insensitive) but I do know that XML stuff is usually case sensitive
Second, I worked as SA with a DBO SA on both databases! I HAVE to have permissions, and I dont! I also tried as another sysadmin login, does not matter. What happened to the concept of the server administration?
Third, why would error messages go into the table (into queue)? They should be displayed as we used to or go into the special table (ErrorTable for example) for auditing.
Thanks again,
Yelena
Regards,Yelena Varsha