Today I was back at building the structure and logic code for the MSMQ
message sending, COM component that the MSMQ Trigger fires and the web
service that the COM component calls. It was pretty easy to get
the code all written, the work started when I began to walk through the
code and test it. First I ran into problems with Public
Transactional Queues. To keep the momentum moving I got rid of
the Transactional part of that configuration and messages began
arriving in the queue. The next problem that I ran into was that
the triggers were not calling the COM component without first thowing
an error. The method being called in the COM component had two
parameters: MessageBody (as variant (object in the component)) and
MessageID (as variant (object in the component)). I removed the
MessageID parameter from both the component and the trigger
configuration and voila, my code begins to run (of course the COM
component recieves an error from the web service, but hey one step at a
time). Why you ask? I don’t know. Maybe it knew it
was quitting time and it just wanted to give me enough hope so that I
would come to work in the morning.