MSMQ Trigger Invocation Parameters

Today I figured out why I was successful at failing yesterday.  Actually, all I figured out was why I was failing.  Why I was succeeding at it still eludes me.  The configuration that I was implementing was a Queue that had a Trigger that had a Rule that invoked a COM component.  The Rule was configured to call the COM component and pass into it a couple of parameters.  The parameters that I had chosen were Message Body (as variant) and Message ID (as variant).  The method on the Com component was defined as:

public void DoStuff(object objMsgBody, object objMessageID)
{...}

So both the variant Invocation Parameters were COM parameters defined as objects.  Apparentally this is where I was going wrong.  I still have no idea what data type the Message ID (as variant) should be coded to, but if I change it to Message Queue (as string) and redefine the method as follows, the code runs wonderfully.

public void DoStuff(object objMsgBody, string strQueueName)
{...}

I've got a call in to MS, actually Aragorn does, so hopefully I will be able to get a listing of the Invocation Parameters and the C# data types that should be used.

posted @ Thursday, August 25, 2005 2:13 AM

Print
Comments have been closed on this topic.