There are many reasons why Service Broker can fail.
For analyzing this I recommend to disable the activation procedure. This way you can see if the data is at least reaching the target queue.
If so, call the activation procedure manually and have a look what it's doing.
Have a look at the command line utility "ssbdiagnose" (http://msdn.microsoft.com/en-us/library/bb934450.aspx)
It sends a test package between defined services. It helped me a lot getting Service Broker run.