Using Tridion 2009, SP1, hence the old COM+ TOM API. I'm trying to get information of a PublishTransaction but getting an error each time I call the PublishTransaction.Information property.
Here is my code:
try
{
var pubTrans = (PublishTransaction)tdse.GetObject("tcm:0-166535-66560",
EnumOpenMode.OpenModeView);
Console.WriteLine("transaction id=" + pubTrans.ID);
Console.WriteLine("transaction itemtype=" + pubTrans.itemType.ToString());
Console.WriteLine("transaction info=" + pubTrans.Information);
}
catch (Exception e)
{
Console.WriteLine(e.Message, e.StackTrace);
}
Above, the transaction ID and Item Type print fine. I have other code where the Delete method works fine, but any time I try and get the Information, it blows up.
Here is the error:
<tcm:Error xmlns:tcm="http://www.tridion.com/ContentManager/5.0" ErrorCode="D"
Category="18" Source="Kernel" Severity="1">
<tcm:Line Cause="false" MessageID="16138">
<![CDATA[Unable to get Information of Unknown (tcm:0-166535-66560).]]>
<tcm:Token>RESID_4485</tcm:Token><tcm:Token>Information</tcm:Token>
<tcm:Token>RESID_4663</tcm:Token><tcm:Token>tcm:0-166535-66560</tcm:Token>
</tcm:Line>
<tcm:Line ErrorCode="D" Cause="true"><![CDATA[Type mismatch]]></tcm:Line>
<tcm:Details>
<tcm:CallStack>
<tcm:Location>PublishTransaction.Information</tcm:Location>
<tcm:Location>PublishTransaction.Information</tcm:Location>
</tcm:CallStack>
</tcm:Details>
</tcm:Error>
I've searched the SDL Tridion World forum and couldn't find the answer. Am I missing a hotfix, should I contact Support, or is there another way to get the transaction info?
I don't have a working environment, so I am just looking into whatever existing code I have available. This is snippet from the Event system which deletes a Queue item only when you have Admin privileges: