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.