我想知道是否有人可以就此提供任何指示。我试图从Tridion UGC Web服务返回ItemStats但是在尝试绑定结果时遇到以下错误: -
封闭类型TridionWebUGC.CDS.ItemStat没有相应的LastRatedDate可设置属性。
代码的一个例子是: -
WebServiceClient ugcCall2 = new WebServiceClient();
Uri uri = new Uri("http://new.ugc.service/odata.svc");
CDS.ContentDeliveryService cds = new CDS.ContentDeliveryService(uri);
var myItemStats = cds.ItemStats.Where(p => p.PublicationId == 68 && p.Id == 17792 && p.Type==16);
我可以毫无问题地获得评论和评分。例如。
var myComments = cds.Comments.Where(p => p.ItemId == 17805).OrderBy(p => p.CreationDate);
只是ItemStats给了我一个问题。有人有什么想法吗?
由于
约翰
答案 0 :(得分:8)
不幸的是,关于ItemsStats,UGC WebService的元数据不正确。对您而言,这意味着Web服务元数据不会暴露ItemStat实体包含LastRatedDate
属性的事实。这使您的.NET代理不会意识到此属性并使您的查询失败。
要解决此缺陷,您有两个选择:
cds.IgnoreMissingProperties = true
;。这种方法的优点是你在2秒内完成了它。缺点是您将无法访问该属性(如果您实际使用它); 注1:要从浏览器访问您的webServer的元数据,您可以转到/odata.svc/$metadata
。
注2:仔细查看webService元数据中缺少2个属性:LastRatedDate
和LastCommentedDate
。
希望这有帮助。