Tridionコンテンツ配信Webサービスを64ビットのWindowsServer 2008 R2システムにインストールし、UGCを構成する予定です。 (実際、私には2つのサービスがあり、どちらも同じ問題を示しています)。
私のサービスにはアンビエントフレームワーク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カートリッジをそのままにしておくと、null参照例外が発生します。
[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]
両方のカートリッジを取り外すと、エラーなしでサービスが起動します。 null参照エラーはおそらく構成値の欠落が原因であると推測していますが、少なくともcd_ambient_conf.xmlはスキーマ検証に合格しているため、そうではない可能性があります。
それで...この問題の原因は何である可能性がありますか、そして私がもっと知るのを助けるかもしれないデバッグまたは分析技術はありますか?
編集:カートリッジ内から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から削除して、再試行してください。
Null参照例外は、おそらくUGCのjarや構成が欠落していることを意味します。これに関する追加情報については、Tridionログを確認してください。
UPDATE
これは、UGC対応のWebサイトにあるものです。
Web.Configの場合(関連する部分のみが表示されます):
<appSettings>
<add key="webpages:Version" value="1.0.0.0"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<add key="ODataEndpoint.URL" value="http://localhost:903/odata.svc"/>
<add key="ODataEndpoint.ConnectionTimeout" value="20000"/>
<add key="ODataEndpoint.ReadTimeout" value="20000"/>
</appSettings>
[...]
<controls>
<add tagPrefix="tridion" namespace="Tridion.ContentDelivery.Web.UI" Assembly="Tridion.ContentDelivery"/>
<add tagPrefix="ugc" namespace="Tridion.ContentDelivery.UGC.Web.UI" Assembly="Tridion.ContentDelivery.UGC" />
</controls>
[...]
<modules runAllManagedModulesForAllRequests="true">
<add type="Tridion.ContentDelivery.AmbientData.HttpModule" name="AmbientFrameworkModule" preCondition="managedHandler" />
</modules>
/ bin内:
(プラス標準のもの)
/bin/config/cd_ambient_conf.xml内:
<Cartridges>
<Cartridge File="ugc_ambient_cartridge.xml"/>
</Cartridges>
/bin/config/cd_ugc_conf.xml内:
<ODataEndpoint URL="http://localhost:903/odata.svc" />
このファイルの他のすべては、デフォルトでそこにあったものです。
/ bin/libで、UGC関連: