SDL*_*per 3 tridion tridion-2011
我无法找到任何其他机器使用核心服务创建的任何项目(架构/组件),除非安装了Tridion CMS,但是当我在使用相同控制台应用程序安装Tridion CMS的机器上创建任何项目时,我能够使用TCM URI找到该特定项目.是否需要在配置文件中定义任何配置(我认为此问题与刷新或清除浏览器缓存无关)以及从其他计算机生成TCM URI时,即使从CMS服务器所在的位置也无法搜索该项目安装.请建议......
更多信息:-
我正在开发SDL Tridion 2011 GA,下面是创建我正在使用的组件的示例代码: -
public static string CreateComponentStack(string folderUri, string title,
string schemaID)
{
core_service.ServiceReference1.SessionAwareCoreService2010Client client =
new SessionAwareCoreService2010Client();
client.ClientCredentials.Windows.ClientCredential.UserName = "myUserName";
client.ClientCredentials.Windows.ClientCredential.Password = "myPassword";
client.Open();
ReadOptions readoptions = new ReadOptions();
string TargetFolderTcmId = folderUri;
string LinkSchemaTcmId = schemaID;
ComponentData CurrentMigrationComponent = client.GetDefaultData(
ItemType.Component, TargetFolderTcmId) as ComponentData;
LinkToSchemaData SchemaToUse = new LinkToSchemaData();
SchemaToUse.IdRef = LinkSchemaTcmId.ToString();
CurrentMigrationComponent.Schema = SchemaToUse;
CurrentMigrationComponent.Title = title;
XmlDocument doc = new XmlDocument();
doc.LoadXml("<Content xmlns='uuid:7289aba9-16de-487c-9142-f6f97dbd2571'>"+
"</Content>");
CurrentMigrationComponent.Content = doc.DocumentElement.OuterXml;
string newTCMID = client.Create(CurrentMigrationComponent, readoptions).Id;
Console.WriteLine(CurrentMigrationComponent.Id);
Console.ReadLine();
return newTCMID;
}
Run Code Online (Sandbox Code Playgroud)
该项目存在或不存在.它不是通过您似乎正在经历的"创建上下文"的任何知识创建的.
您确定在所查找的同一出版物中创建了该项目吗?物品是否已登记?
如果它不是那样的话,我建议与我们分享你的代码的关键部分:可能是创建连接的部分并在其上设置用户凭证(删除当然的实际值)和调用的部分Save,Update或者Create关于的方法CoreServiceClient.
更新
你添加的代码对我来说很好.但是您可能需要检查一些事情:
string newTCMID = client.Create(CurrentMigrationComponent, readoptions).Id;
Console.WriteLine(CurrentMigrationComponent.Id);
Run Code Online (Sandbox Code Playgroud)
既然你正在创建一个新的元件,CurrentMigrationComponent具有可变拥有Id的tcm:0-0-0.你重新获得什么价值newTCMID?如果你搜索那个TCM URI(使用GUI中的搜索功能),它能找到什么吗?
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |