400错误(错误请求)使用Experience Manager创建页面

时间:2012-10-16 12:34:22

标签: tridion tridion-2011

我有一个SDL Tridion 2011 SP1 HR1映像,其中安装了Experience Manager。我可以成功浏览我的登台网站,登录ExM并更改内容和页面。但是,当我尝试创建新页面时,我收到400(错误请求)错误。这是记录的错误:

  

无法使用OData服务更新更改   远程服务器返回错误:(400)错误请求。

     

组件:Tridion.SiteEdit.FastTrackPublishing
  错误代码:1003
  用户:NT AUTHORITY \ NETWORK SERVICE

     

StackTrace信息详情:
     在System.Net.HttpWebRequest.GetResponse()
     在System.Data.Services.Client.DataServiceContext.SaveResult.BatchRequest(Boolean replaceOnUpdate)
     在System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions选项)
     在Tridion.SiteEdit.FastTrackPublishing.ServiceImplementation.Preview(IEnumerable 1 publishedItemsInfo, TcmUri publishingTargetId)
at Tridion.SiteEdit.FastTrackPublishing.ServiceImplementation.Preview(IEnumerable
1 publishedItemsInfo,TcmUri publishingTargetId)
     在SyncInvokePreview(Object,Object [],Object [])
     在System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(对象实例,对象[]输入,对象[]和输出)
     在System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
     在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
     在System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
     在System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

我刚检查了CD日志文件,可以看到此错误:

  

012-10-16 12:29:05,782错误JPADAOFactory - 无法加载JPA DAO,名称为:TrackedRequest和class:com.tridion.storage.TrackedRequestDAO,因DAO构造过于异常   org.springframework.beans.factory.BeanCreationException:在URL中定义名为'TrackedRequestDAO'的bean时出错[jar:file:/ C:/ASP.NET/Preview/httpupload/bin/lib/tracking_core.jar!/ com / tridion /storage/TrackedRequestDAO.class]:bean的实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[com.tridion.storage.TrackedRequestDAO]:构造函数抛出异常;嵌套异常是com.tridion.configuration.ConfigurationException:遇到意外的方言:。应将TrackedRequest项类型配置为使用受支持的数据库。

我收到图片时已为已发布的内容启用了内联编辑,但我需要自己创建内容类型和页面类型。我以通常的方式执行此操作,创建一个页面,将其标记为页面类型,向其添加原型内容,以及配置命名和存储(用于创建的内容)的设置。我还重新启动了IIS,关闭了COM +包并重新启动了Tridion服务主机和发布服务。

任何人都可以解释为什么我会收到此错误,以及如何修复它?

修改

因此错误表明存储配置中存在问题。以下是相关部分:

  <Storage Id="trackingDB" Class="com.tridion.storage.persistence.JPADAOFactory" Type="persistence" dialect="MSSQL">
    <Pool CheckoutTimeout="120" IdleTimeout="120" MonitorInterval="60" Size="5" Type="jdbc"/>
    <DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
      <Property Name="serverName" Value="SDLPE.pe.local"/>
      <Property Name="portNumber" Value="1433"/>
      <Property Name="databaseName" Value="tridion_tracking"/>
      <Property Name="user" Value="encrypted:u9aIOj9uX2IcL1rI6U5ndA=="/>
      <Property Name="password" Value="encrypted:vprUfrnluvIQAVRNSMTx5g=="/>
    </DataSource>
  </Storage>

<Item cached="true" typeMapping="TrackedRequest" storageId="trackingDB"/>

修改

我刚刚浏览了日志文件,发现了这个:

  

2012-10-16 14:12:43,448 DEBUG ConfigurationItemTypeLoader - 加载映射:trackedrequest to storage:trackingDB
  2012-10-16 14:12:43,448 DEBUG ConfigurationItemTypeLoader - 加载映射:trackingbatch到存储:trackingDB
  2012-10-16 14:12:43,448 DEBUG ConfigurationItemTypeLoader - 加载映射:同步记录到存储:trackingDB
  2012-10-16 14:12:43,448 DEBUG ConfigurationItemTypeLoader - 加载映射:trackingitem到存储:trackingDB

似乎应该正确地选择配置,但它仍然无法从相关的存储定义中读取方言。

1 个答案:

答案 0 :(得分:2)

最后,该问题与为页面类型指定的页面元数据有关。我看到的错误记录不会影响网站的性能,因此误导了我。