tridion之发布交易信息类型不匹配错误

lyhabc 阅读:54 2024-11-01 17:39:52 评论:0

使用 Tridion 2009 SP1,因此使用旧的 COM+ TOM API。我正在尝试获取 PublishTransaction 的信息,但每次调用 PublishTransaction.Information 属性时都会出错。

这是我的代码:

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); 
} 

上面,交易 ID 和项目类型打印正常。我还有其他代码,其中 Delete 方法工作正常,但任何时候我尝试获取信息时,它都会崩溃。

这里是错误:

<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> 

我搜索了 SDL Tridion World 论坛,但找不到答案。我是否缺少修补程序,我应该联系支持人员,还是有其他获取交易信息的方法?

请您参考如下方法:

我不太确定(没有在晚上的这个时候进一步挖掘),但是“信息”属性实际上是一个 XMLElement 而不是文档所说的字符串吗?当您使用调试器时,您是否能够在此属性上放置一个监视以查看它包含的内容?


标签:程序员
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号