gpt4 book ai didi

tridion - 无法使用 Coreservice 创建组件

转载 作者:行者123 更新时间:2023-12-02 22:38:57 25 4
gpt4 key购买 nike

我正在尝试使用以下代码使用 coreservice 创建组件,当我执行 exe 时,出现错误“无法找到 uuid:”“64c7e56a-161d-4698-a76b-7fd96227948d:Content”。

我打开了链接到这个组件的模式,我也在那里看到了这个 UUID。

截至目前,我只是尝试通过提供硬编码的文件夹、架构、标题来创建组件。

如果您能指导我如何在组件中也添加字段值,那就太好了。 (例如,假设我的架构中有一个链接到该组件的字段“文本”,并且我想使用相同的程序在我的组件的该字段中添加“这是文本”。

你能帮我解决这个问题吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DctmToSDLMigration.SDLCoreServiceReference;

namespace DctmToSDLMigration
{
class Program
{
static DctmToSDLMigration.SDLCoreServiceReference.SessionAwareCoreService2010Client client = new SessionAwareCoreService2010Client();
static ReadOptions readoptions = new ReadOptions();
static void CreateComponent()
{
try
{
string TargetFolderTcmId = "tcm:148-1263-2";
string LinkSchemaTcmId = "tcm:148-11460-8";
ComponentData CurrentMigrationComponent = client.GetDefaultData(ItemType.Component, TargetFolderTcmId) as ComponentData;
LinkToSchemaData SchemaToUse = new LinkToSchemaData();
SchemaToUse.IdRef = LinkSchemaTcmId.ToString();
CurrentMigrationComponent.Schema = SchemaToUse ;
CurrentMigrationComponent.Title = "Test component";
client.Create(CurrentMigrationComponent, readoptions);
Console.WriteLine(CurrentMigrationComponent.Id);
Console.ReadLine();
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.ReadLine();
}
}
static void Main(string[] args)
{
CreateComponent();
}
}
}

最佳答案

您需要设置组件的内容属性。


XmlDocument doc = new XmlDocument();



doc.LoadXml(string.Format(@"
    
     
      Hello
     
    ", SchemaToUse.NamespaceUri));

CurrentMigrationComponent.Content = doc.DocumentElement;

关于tridion - 无法使用 Coreservice 创建组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11030587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com