我已经在 64 位 Windows Server 2008 R2 系统上安装了 Tridion 内容交付 Web 服务,打算配置 UGC。(事实上我有两个服务,都表现出同样的问题)。
我的服务配置了环境框架 HttpModule,cd_ambient_conf.xml 是产品随附的默认版本的副本,但是 Security 元素被注释掉了。我通过访问浏览器中的 odata.svc 端点进行测试。
在 Cartridges 元素中,我有以下内容:
<Cartridges>
<Cartridge File="cd_ambient_cartridge_conf.xml"/>
<Cartridge File="ugc_ambient_cartridge.xml"/>
</Cartridges>
当像这样配置时,或者如果我注释掉 cd_ambient 墨盒并保留 ugc_ambient 墨盒,我会得到一个空引用异常:
[NullReferenceException: Object reference not set to an instance of an object.]
Tridion.ContentDelivery.AmbientData.HttpModule.OnRequestStart
(Object sender, EventArgs e) +292
System.Web.SyncEventExecutionStep.System.Web
.HttpApplication.IExecutionStep.Execute() +79
System.Web.HttpApplication.ExecuteStep(
IExecutionStep step, Boolean& completedSynchronously) +269
如果我只配置 cd_ambient 墨盒,则会出现以下错误:
[AmbientDataException: Error while configuring ambient data framework]
如果我取出两个墨盒,服务就会正常运行。我推测空引用错误可能是由缺少配置值引起的,但至少 cd_ambient_conf.xml 通过了架构验证,所以也许没有。
那么...可能是这个问题的原因是什么,是否有任何调试或分析技术可以帮助我找到更多信息?
编辑:我现在已经从 Cartridges 中删除了 cd_ambient_cartridge_conf.xml 参考。因此,仅使用 ugc_ambient_cartridge.xml 参考,我在 cd_core 日志中收到以下错误(并且我返回 [AmbientDataException:配置环境数据框架时出错] 错误):
2012-05-11 15:03:51,073 WARN AmbientDataContext - There is no current ambient
data context - the ambient data framework is not properly initialised
2012-05-11 15:03:51,171 ERROR EngineFactory - Unable to configure the
AmbientData Framework
com.tridion.configuration.ConfigurationException:
Can't find configuration file: [ ugc_ambient_cartridge.xml ]
at com.tridion.configuration.XMLConfigurationReader.readConfiguration(
XMLConfigurationReader.java:92) ~[cd_core.jar:na]
at com.tridion.ambientdata.AmbientDataConfig.getCartridgeConfigurations(
AmbientDataConfig.java:155) ~[cd_ambient.jar:na]
at com.tridion.ambientdata.EngineFactory.newEngine(
EngineFactory.java:45) ~[cd_ambient.jar:na]
可能是 cd_ambient_cartridge_conf.xml 包含错误。默认墨盒作为您可以使用自定义墨盒执行的操作的示例发货。
从您的 cd_ambient_conf.xml 中删除该墨盒,然后重试。
空引用异常可能意味着您缺少 UGC 的 jar 和/或配置。检查 Tridion 日志以获取有关此的其他信息。
UPDATE
这是我支持 UGC 的网站中的内容:
在 Web.Config 中(仅显示相关部分):
在 /bin:
(加上标准的)
在 /bin/config/cd_ambient_conf.xml 中:
在 /bin/config/cd_ugc_conf.xml 中:
此文件中的所有其他内容都是默认情况下的内容。
在/bin/lib中,UGC相关: