Tridion 为内容交付web服务配置环境数据框架时出错

Tridion 为内容交付web服务配置环境数据框架时出错,tridion,tridion-2011,tridion-content-delivery,ambient,Tridion,Tridion 2011,Tridion Content Delivery,Ambient,我正在为内容交付web服务配置环境数据框架,当我在浏览器中点击我的服务url时,它会抛出以下错误 “/”应用程序中出现服务器错误。 找不到索赔处理程序实现类:com.tridion.ambientdata.processing.ExampleClaimProcessor1 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 例外情况详情: Com.Tridion.Ambientdata.AmbientDataException: Cann

我正在为内容交付web服务配置环境数据框架,当我在浏览器中点击我的服务url时,它会抛出以下错误

“/”应用程序中出现服务器错误。


找不到索赔处理程序实现类:com.tridion.ambientdata.processing.ExampleClaimProcessor1 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

例外情况详情:

Com.Tridion.Ambientdata.AmbientDataException: Cannot find claim processor implementation class: com.tridion.ambientdata.processing.ExampleClaimProcessor1
源错误:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
堆栈跟踪:

[AmbientDataException: Cannot find claim processor implementation class: com.tridion.ambientdata.processing.ExampleClaimProcessor1]
   Codemesh.JuggerNET.NTypeValue.Throw(Int64 inst) +373
   Codemesh.JuggerNET.JavaClass.ThrowTypedException(Int64 inst) +1364
   Codemesh.JuggerNET.JavaMethod.CallObject(JavaProxy jpo, JavaMethodArguments args) +524
   Com.Tridion.Ambientdata.EngineFactory.NewEngine(AmbientDataConfig ambientDataConfig) +126
   Tridion.ContentDelivery.AmbientData.HttpModule.InitializeAmbientFramework() +144
   Tridion.ContentDelivery.AmbientData.HttpModule.Init(HttpApplication application) +60
   System.Web.HttpApplication.InitModulesCommon() +172
   System.Web.HttpApplication.InitModules() +43
   System.Web.HttpApplication.InitInternal(HttpContext context, HttpApplicationState state, MethodInfo[] handlers) +828
   System.Web.HttpApplicationFactory.GetNormalApplicationInstance(HttpContext context) +304
   System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +107
   System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +327

下面是我的cd_ambient_cartridge_conf.xml文件:

cd\u环境\u盒式磁带\u conf.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration Version="6.1"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:noNamespaceSchemaLocation="schemas/cd_ambient_conf.xsd">

    <Cartridges>

        <Cartridge File="cd_webservice_preview_cartridge.xml"/>
        <Cartridge File="footprint_cartridge_conf.xml"/>


    </Cartridges>
  <ClaimStoreProvider>com.tridion.siteedit.preview.PreviewClaimStoreProvider</ClaimStoreProvider>
    <!-- Cookies settings -->
    <!--
    <Cookies>
        <CookieClaim DefaultValue="true" Name="CookieClaim"/>
        <Cookie Type="Tracking" Name="myTrackingCookie" Path="/"/>
        <Cookie Type="Session" Name="mySessionCookie" Path="/"/>
    </Cookies>
    -->
</Configuration>
<?xml version="1.0" encoding="UTF-8"?>
<CartridgeDefinition Version="6.1" Uri="tcd:cartridge:example" Description="Example cartridge."
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="schemas/cd_ambient_cartridge_conf.xsd">
    <ClaimDefinitions>
        <ClaimDefinition Uri="tcd:claim:userid" Scope="SESSION" Description="The user's unique identifier." />
        <ClaimDefinition Uri="tcd:claim:username" Scope="SESSION" Description="The user's full name." />
        <ClaimDefinition Uri="tcd:claim:usersex" Scope="SESSION" Description="The user's sex (M or F)." />
        <ClaimDefinition Uri="tcd:claim:userage" Scope="SESSION" Description="The user's age in years." />
    </ClaimDefinitions>

    <ClaimProcessorDefinitions>
        <ClaimProcessorDefinition Uri="tcd:claimprocessor:example:userdetails" ImplementationClass="com.tridion.ambientdata.processing.ExampleClaimProcessor1"
                            Description="Example claim processor that gets user details.">
            <RequestStart>
                <InputClaims>
                    <ClaimDefinition Uri="tcd:claim:userid" />
                </InputClaims>
                <OutputClaims>
                    <ClaimDefinition Uri="tcd:claim:username" />
                    <ClaimDefinition Uri="tcd:claim:usersex" />
                    <ClaimDefinition Uri="tcd:claim:userage" />
                </OutputClaims>
            </RequestStart>
        </ClaimProcessorDefinition>

        <ClaimProcessorDefinition Uri="tcd:claimprocessor:example:example2"
                            ConfigProviderClass="com.tridion.ambientdata.processing.ExampleClaimProcessorConfigProvider" />
    </ClaimProcessorDefinitions>
</CartridgeDefinition>

这是我的cd_ambient_conf.xml文件:

cd_ambient_conf.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration Version="6.1"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:noNamespaceSchemaLocation="schemas/cd_ambient_conf.xsd">

    <Cartridges>

        <Cartridge File="cd_webservice_preview_cartridge.xml"/>
        <Cartridge File="footprint_cartridge_conf.xml"/>


    </Cartridges>
  <ClaimStoreProvider>com.tridion.siteedit.preview.PreviewClaimStoreProvider</ClaimStoreProvider>
    <!-- Cookies settings -->
    <!--
    <Cookies>
        <CookieClaim DefaultValue="true" Name="CookieClaim"/>
        <Cookie Type="Tracking" Name="myTrackingCookie" Path="/"/>
        <Cookie Type="Session" Name="mySessionCookie" Path="/"/>
    </Cookies>
    -->
</Configuration>
<?xml version="1.0" encoding="UTF-8"?>
<CartridgeDefinition Version="6.1" Uri="tcd:cartridge:example" Description="Example cartridge."
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="schemas/cd_ambient_cartridge_conf.xsd">
    <ClaimDefinitions>
        <ClaimDefinition Uri="tcd:claim:userid" Scope="SESSION" Description="The user's unique identifier." />
        <ClaimDefinition Uri="tcd:claim:username" Scope="SESSION" Description="The user's full name." />
        <ClaimDefinition Uri="tcd:claim:usersex" Scope="SESSION" Description="The user's sex (M or F)." />
        <ClaimDefinition Uri="tcd:claim:userage" Scope="SESSION" Description="The user's age in years." />
    </ClaimDefinitions>

    <ClaimProcessorDefinitions>
        <ClaimProcessorDefinition Uri="tcd:claimprocessor:example:userdetails" ImplementationClass="com.tridion.ambientdata.processing.ExampleClaimProcessor1"
                            Description="Example claim processor that gets user details.">
            <RequestStart>
                <InputClaims>
                    <ClaimDefinition Uri="tcd:claim:userid" />
                </InputClaims>
                <OutputClaims>
                    <ClaimDefinition Uri="tcd:claim:username" />
                    <ClaimDefinition Uri="tcd:claim:usersex" />
                    <ClaimDefinition Uri="tcd:claim:userage" />
                </OutputClaims>
            </RequestStart>
        </ClaimProcessorDefinition>

        <ClaimProcessorDefinition Uri="tcd:claimprocessor:example:example2"
                            ConfigProviderClass="com.tridion.ambientdata.processing.ExampleClaimProcessorConfigProvider" />
    </ClaimProcessorDefinitions>
</CartridgeDefinition>

以下是我的内容交付web服务日志文件中的调试信息:

cd_core.2012-11-07.日志中的调试信息

2012-11-07 05:00:11,421 DEBUG ServiceExtensionLoader - Loading extension points for interface com.tridion.webservices.extension.ODataServiceOperation.
2012-11-07 05:00:11,437 DEBUG ServiceExtensionLoader - Loading extension points for interface com.tridion.webservices.extension.ODataWritableEntryService.
2012-11-07 05:00:11,437 DEBUG ServiceExtensionLoader - Loading extension points from config file: jar:file:/C:/Program%20Files/Tridion/CDWebservice/bin/lib/cd_preview_webservice.jar!/META-INF/services/com.tridion.webservices.extension.ODataWritableEntryService.
2012-11-07 05:00:11,452 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritablePageContentsEntryService.
2012-11-07 05:00:11,468 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritableComponentPresentationsEntryService.
2012-11-07 05:00:11,468 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritablePageMetasEntryService.
2012-11-07 05:00:11,468 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritableComponentMetasEntryService.
2012-11-07 05:00:11,468 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritableKeywordsEntryService.
2012-11-07 05:00:11,468 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritableBinaryContentsEntryService.
2012-11-07 05:00:11,468 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritableCustomMetasEntryService.
2012-11-07 05:00:11,468 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritableBinaryVariantsEntryService.
2012-11-07 05:00:11,468 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritableBinaryMetasEntryService.
2012-11-07 05:00:11,468 DEBUG ServiceExtensionLoader - Loading extension points for interface com.tridion.webservices.extension.ODataWritableStreamEntryService.
2012-11-07 05:00:11,468 DEBUG ServiceExtensionLoader - Loading extension points from config file: jar:file:/C:/Program%20Files/Tridion/CDWebservice/bin/lib/cd_preview_webservice.jar!/META-INF/services/com.tridion.webservices.extension.ODataWritableStreamEntryService.
2012-11-07 05:00:11,484 INFO  ODataWebserviceHandler - Adding OData writable entry service: WritableStreamBinaryContentsEntryService.
2012-11-07 05:00:11,484 INFO  JAXBContextResolver - Adding default JAXB types.
2012-11-07 05:00:11,484 DEBUG ServiceExtensionLoader - Loading extension points for interface com.tridion.webservices.extension.ODataEntryRegistrationService.
2012-11-07 05:00:11,484 DEBUG ServiceExtensionLoader - Loading extension points from config file: jar:file:/C:/Program%20Files/Tridion/CDWebservice/bin/lib/cd_preview_webservice.jar!/META-INF/services/com.tridion.webservices.extension.ODataEntryRegistrationService.
2012-11-07 05:00:11,484 INFO  JAXBContextResolver - Adding BinaryContents JAXB type.
2012-11-07 05:00:11,812 WARN  AmbientDataContext - There is no current ambient data context - the ambient data framework is not properly initialised
2012-11-07 05:00:11,812 DEBUG AmbientDataContext - Setting current ambient data context: com.tridion.ambientdata.web.WebContext

任何帮助都将不胜感激。提前谢谢

编辑有关CDA应用程序的信息

网页上出现错误

Cannot find claim processor implementation class: com.tridion.ambientdata.processing.ExampleClaimProcessor1
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: Com.Tridion.Ambientdata.AmbientDataException: Cannot find claim processor implementation class: com.tridion.ambientdata.processing.ExampleClaimProcessor1

Source Error: 
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace: 

[AmbientDataException: Cannot find claim processor implementation class: com.tridion.ambientdata.processing.ExampleClaimProcessor1]
   Codemesh.JuggerNET.NTypeValue.Throw(Int64 inst) +373
   Codemesh.JuggerNET.JavaClass.ThrowTypedException(Int64 inst) +1364
   Codemesh.JuggerNET.JavaMethod.CallObject(JavaProxy jpo, JavaMethodArguments args) +524
   Com.Tridion.Ambientdata.EngineFactory.NewEngine(AmbientDataConfig ambientDataConfig) +126
   Tridion.ContentDelivery.AmbientData.HttpModule.InitializeAmbientFramework() +144
   Tridion.ContentDelivery.AmbientData.HttpModule.OnRequestStart(Object sender, EventArgs e) +68
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +148
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
cd_ambient_conf.xml

<?xml version="1.0" encoding="UTF-8"?>
<Configuration Version="6.1"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xsi:noNamespaceSchemaLocation="schemas/cd_ambient_conf.xsd">

    <Cartridges>

        <Cartridge File="cd_webservice_preview_cartridge.xml"/>
        <Cartridge File="footprint_cartridge_conf.xml"/>


    </Cartridges>
  <ClaimStoreProvider>com.tridion.siteedit.preview.PreviewClaimStoreProvider</ClaimStoreProvider>
    <!-- Cookies settings -->
    <!--
    <Cookies>
        <CookieClaim DefaultValue="true" Name="CookieClaim"/>
        <Cookie Type="Tracking" Name="myTrackingCookie" Path="/"/>
        <Cookie Type="Session" Name="mySessionCookie" Path="/"/>
    </Cookies>
    -->
</Configuration>
<?xml version="1.0" encoding="UTF-8"?>
<CartridgeDefinition Version="6.1" Uri="tcd:cartridge:example" Description="Example cartridge."
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:noNamespaceSchemaLocation="schemas/cd_ambient_cartridge_conf.xsd">
    <ClaimDefinitions>
        <ClaimDefinition Uri="tcd:claim:userid" Scope="SESSION" Description="The user's unique identifier." />
        <ClaimDefinition Uri="tcd:claim:username" Scope="SESSION" Description="The user's full name." />
        <ClaimDefinition Uri="tcd:claim:usersex" Scope="SESSION" Description="The user's sex (M or F)." />
        <ClaimDefinition Uri="tcd:claim:userage" Scope="SESSION" Description="The user's age in years." />
    </ClaimDefinitions>

    <ClaimProcessorDefinitions>
        <ClaimProcessorDefinition Uri="tcd:claimprocessor:example:userdetails" ImplementationClass="com.tridion.ambientdata.processing.ExampleClaimProcessor1"
                            Description="Example claim processor that gets user details.">
            <RequestStart>
                <InputClaims>
                    <ClaimDefinition Uri="tcd:claim:userid" />
                </InputClaims>
                <OutputClaims>
                    <ClaimDefinition Uri="tcd:claim:username" />
                    <ClaimDefinition Uri="tcd:claim:usersex" />
                    <ClaimDefinition Uri="tcd:claim:userage" />
                </OutputClaims>
            </RequestStart>
        </ClaimProcessorDefinition>

        <ClaimProcessorDefinition Uri="tcd:claimprocessor:example:example2"
                            ConfigProviderClass="com.tridion.ambientdata.processing.ExampleClaimProcessorConfigProvider" />
    </ClaimProcessorDefinitions>
</CartridgeDefinition>
正如error所说,其中一个cookie是预期的,但在文档中没有提到。提前谢谢

注意-此错误出现,当我再次刷新页面时,它会消失,页面工作正常。我的意思是它出现在替代页面命中中。

请删除(或注释掉)“cd_ambient_conf.xml”配置文件中名为:

2012-11-07 14:36:31,962 WARN  AmbientDataContext - There is no current ambient data context - the ambient data framework is not properly initialised
2012-11-07 14:36:31,962 DEBUG AmbientDataContext - Setting current ambient data context: com.tridion.ambientdata.web.WebContext
2012-11-07 14:36:32,071 ERROR XMLConfigurationReader - Error while validating file 'cd_ambient_conf.xml' with schema 'schemas/cd_ambient_conf.xsd'. cvc-complex-type.2.4.a: Invalid content was found starting with element 'ClaimStoreProvider'. One of '{Cookies}' is expected.
<Cartridge File="cd_ambient_cartridge_conf.xml"/>

请注意,此盒带只是一个示例,不应在生产中使用。该盒带包含不存在的示例定义,导致ClassNotFoundException

希望这有帮助

问候,,
丹尼尔。

谢谢您的帮助,CD服务的错误已通过这样做得到解决。但我在CDA应用程序中遇到了同样的问题。我是否可以删除ClaimProcessorDefinition,因为它们是可选的。我的场景中是否需要任何ClaimProcessor定义。请在问题中找到我的编辑并提出建议。@chiku:如果您的CDA应用程序是一个暂存应用程序,那么您需要启用(在该特定web应用程序上!!!)以下盒带:“和”。这也意味着在该CDA应用程序的lib文件夹中,需要有jar文件“cd_preview_ambient.jar”、“cd_preview_web.jar”、“cd_session.jar”、“footprint_cartridge.jar”和“se_ambientpreview.jar”。在您的情况下,您不应该得到相同的异常,因为'ExampleClaimProcessor1'的声明定义不在其中。@Daniel,是的,这些jar文件已经在lib文件夹中。我很惊讶为什么它只在第一页请求中抛出错误,而在页面刷新中消失。现在我正在经历它不是每一次交替的打击。它随时都会随机出现。@chiku:有意思……我感觉你在分享你的webApp之间的apppool。如果是这样,请确保每个webApp都有自己的应用程序池。你能检查一下吗?@Daniel,是的,有两个网站运行在同一个应用程序池中。但在这两种环境中,框架的配置方式相同。让我通过应用程序池将它们分开。希望有人支持:-)非常感谢