I had a long day this week, posted about it here: http://www.bloomconsultingbi.com/2015/02/in-trenches-with-service-broker.html.
Since then I've tweaked the scripts to allow Binary objects to flow back and forth by modifying the front end Stored Procedure and the Internal Activation Stored Proc on the destination server, posted about it here: http://www.bloomconsultingbi.com/2015/02/service-broker-scripts.html
So today, one of the c# developers created an object by pulling data from SharePoint, then called my Stored Procedure passing in the Binary .net object to the parameter, which wrote a record to the Source Queue, which transmitted the message to the Destination Server Target Queue, which fired the listener, which called the Internal Activation Stored Procedure, which parsed the message and Inserted the object into a SQL Server table as a binary field.
Next, the developer wrote a function to read from that table, pull out the binary field, stream it through a c# routine, which recreated the c# object from it's original state. So the object found it's way to the other side in tact.
So that means that my code works. My next step is to pull out the Acknowledgement receipt from the Destination Server back in the calling Stored Procedure, so the developer know the message was sent, and they can update their stuff so the same record doesn't get sent again.
And for the next sprint of our Agile process, someone will take that new c# function and integrate that into our External Activation Windows Service to pull out the information directly from the Service Broker. And figure out which SharePoint list was sent across, and do an Update or Insert accordingly so our Users can view in reports.
This is one of the biggest projects I've worked on in a while with a half dozen people working together, each assigned different tasks. But one things for sure, when the pieces connect to each other and all the data flows through the way it's supposed to, that's what it's all about.
So stay tuned, for another exciting episode, same bat time, same bat station~!