我通过发布的客户端程序集调用Tridion 2011 SP1核心服务.当我尝试列出出版物的内容时,我得到一个例外.
代码(简化)如下所示:
ItemsFilterData filter = new Tridion.ContentManager.CoreService
.Client.RepositoryItemsFilterData.RepositoryItemsFilterData();
filter.ItemTypes = new ItemType[] {
ItemType.Folder,
ItemType.StructureGroup
};
filter.Recursive = false;
IEnumerable<IdentifiableObjectData> childItems = core.GetList("tcm:0-15-1", filter);
Run Code Online (Sandbox Code Playgroud)
注意:变量"core"指的是我可以成功调用的ISessionAwareCoreService,例如core.GetSystemWideList()
当调用.GetList时,我得到以下异常:
System.ServiceModel.FaultException`1 was unhandled
Message=Unexpected list type:
Tridion.ContentManager.Data.ContentManagement.RepositoryItemsFilterData.
Run Code Online (Sandbox Code Playgroud)
这个问题的可能原因是什么?你能否提出一个很好的通用方法来解释这种信息?
Fra*_*len 11
你不能得到一个Publication使用的直接孩子GetList.相反,你应该加载PublicationDataa client.Read,然后访问RootFolder和RootStructureGroup.
PublicationData pub = (PublicationData)core.Read("tcm:0-1-1", new ReadOptions());
string rootFolder = pub.RootFolder.IdRef;
string rootSG = pub.RootStructureGroup.IdRef;
Run Code Online (Sandbox Code Playgroud)
或者,您可以GetListXml与您联系RepositoryItemsFilterData并自己从XML中提取项目.
XElement listResult = core.GetListXml(parent.ID, filter);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
576 次 |
| 最近记录: |