【问题标题】:Tridion Core Service Update ErrorTridion 核心服务更新错误
【发布时间】:2013-01-07 05:57:55
【问题描述】:

在我们正在进行的重构练习中,我们必须更改选定网站的页面模板。大多数页面已本地化并通过以下代码更新其页面模板,但对于少数页面,我们收到以下错误:

XML validation error. Reason: The element 'Metadata' in namespace 'uuid:940d95aa-fcce-481c-8de5-c61d06c74f46' has invalid child element 'description' in namespace 'uuid:940d95aa-fcce-481c-8de5-c61d06c74f46'. 

List of possible elements expected: 'TitleSEO, KeywordsSEO, DescriptionSEO, omniture' in namespace 'uuid:940d95aa-fcce-481c-8de5-c61d06c74f46'. 

我们的元数据架构中没有描述字段,TitleSEO、KeywordsSEO、DescriptionSEO、omniture 都是可选字段,不会被代码更改。

try
{
   pData = client.Read(page.Attribute("ID").Value, null) as PageData;
    //Localize Page
    if (!(bool)pData.BluePrintInfo.IsLocalized)
    {
        client.Localize(pData.Id, new ReadOptions());
        if (dTemplateIDs.ContainsKey(pData.PageTemplate.IdRef.ToString()))
        {
            pData.IsPageTemplateInherited = false;
            pData.PageTemplate.IdRef = dTemplateIDs[pData.PageTemplate.IdRef];
            client.Update(pData, new ReadOptions());
        }
    }
}
catch (Exception ex)
{
    Console.WriteLine("Error Inner " + ex.Message);
} 

【问题讨论】:

  • 完全偏离主题,但祝贺您在 Stackoverflow 上发布了第 1000 个 Tridion 问题!
  • 问得好,我们是否有兴趣提交Area 51 Tridion specific proposal。如果有时间,请使用同一个 SO 帐户注册。
  • 感谢 David 的建议,我能够从元数据中删除描述。现在出现了一个新的错误。 “名称、文件名对于以下类型的项目必须是唯一的:其结构组及其蓝图上下文中的页面。来源或冲突来源 tcm:121:3456-64”。我检查了正在处理的当前页面和错误中提到的页面,它们都有唯一的名称和文件名。有什么想法可能导致该问题吗?

标签: tridion tridion-2011


【解决方案1】:

听起来好像在过去的某个时候,您的页面元数据架构中有一个名为“description”的字段(我怀疑后来更改为现在的“DescriptionSEO”)。这几个导致错误的页面可能在更改后没有更新,他们的 XML 中的旧元数据字段也是如此,因此当您更改页面模板时会出现验证问题。

如果只有几页,只需打开页面,添加一些描述或以其他方式更改某些内容,保存它们,然后再次尝试您的代码。

如果超过几个,您可能需要以编程方式检测和删除现有数据。

【讨论】:

  • David,感谢您的建议,我能够从元数据中删除描述。现在出现了一个新的错误。 “名称、文件名对于以下类型的项目必须是唯一的:其结构组及其蓝图上下文中的页面。来源或冲突来源 tcm:121:3456-64”。我检查了正在处理的当前页面和错误中提到的页面,它们都有唯一的名称和文件名。有什么想法可能导致问题吗?
【解决方案2】:

我不确定您使用的是哪个版本的 SDL Tridion,但在 SDL Tridion 2011 的某些早期版本中,如果之前已将元数据添加到任何对象,则不会通过将元数据架构更改为空来清除目的。因此,我发现您必须在保存项目之前使用代码将元数据值设置为 NULL。这可能会解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 2012-04-21
    • 2012-09-11
    • 1970-01-01
    • 2013-01-21
    • 2012-03-20
    相关资源
    最近更新 更多