7

我已经按照文档安装了 Tridion UI 2012,一切似乎都很好,我可以使用 UI 功能,例如创建新页面、修改现有页面等,但时不时地(我无法限制何时或为什么)单击“更新预览”时收到“错误请求”错误。详细错误显示在事件查看器中:

Log Name:      Tridion
Source:        Tridion Publishing
Date:          10/07/2012 12:03:37
Event ID:      100
Task Category: None
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      ZZZZZ

Description:
Unable to update or add Binaries using OData Service.
An error occurred while processing this request.
BadRequest


Component: Tridion.SiteEdit.FastTrackPublishing
Errorcode: 1003
User: NT AUTHORITY\NETWORK SERVICE

StackTrace Information Details:
   at System.Data.Services.Client.DataServiceContext.SaveResult.<HandleBatchResponse>d__1e.MoveNext()
   at System.Data.Services.Client.DataServiceContext.SaveResult.HandleBatchResponse()
   at System.Data.Services.Client.DataServiceContext.SaveResult.EndRequest()
   at System.Data.Services.Client.DataServiceContext.SaveChanges(SaveChangesOptions options)
   at Tridion.SiteEdit.FastTrackPublishing.ServiceImplementation.SaveBinaries(RenderedItem renderedItem, ContentDeliveryService service)
   at Tridion.SiteEdit.FastTrackPublishing.ServiceImplementation.SaveBinaries(RenderedItem renderedItem, ContentDeliveryService service)
   at Tridion.SiteEdit.FastTrackPublishing.ServiceImplementation.Preview(IEnumerable`1 publishedItemsInfo, TcmUri publishingTargetId)
   at Tridion.SiteEdit.FastTrackPublishing.ServiceImplementation.Preview(IEnumerable`1 publishedItemsInfo, TcmUri publishingTargetId)
   at SyncInvokePreview(Object , Object[] , Object[] )
   at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
   at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
   at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

你以前见过这个错误吗?任何想法如何避免/修复它?

问候艾玛

4

3 回答 3

4

聚会有点晚了,但就我而言,这是由太大的二进制文件引起的。您可以按照以下步骤更详细地查明问题:(Tridion 2011、SP1、HR2,但我认为这对 2013 年也有效)

  1. 在 CMS 服务器上,打开 TcmServiceHost.exe.config 并取消注释以下标记的正文:

    <system.diagnostics><sources>

  2. 找到标签并创建属性<sharedListeners>中提到的目录(或更新此设置)initializeData

  3. 重新启动 TcmServiceHost 服务并单击“更新预览”。日志文件显示出来,您可以在 SvcTraceViewer 中打开它

找到红色入口,然后从那里走。

要允许更大的二进制文件(考虑性能成本!),请转到您的 OData 会话预览服务并执行以下操作:

  1. 打开 web.config 并找到<bindings><webHttpBinding>(当然是相关的绑定,但通常是webHttpBinding.)

  2. 添加具有以下属性的绑定(在<webHttpBinding>元素内):

    <binding name="AdustedBindingConfiguration" maxReceivedMessageSize="2097152000" maxBufferSize="2097152000"> <readerQuotas maxArrayLength="81920" maxBytesPerRead="5120" maxDepth="32" maxNameTableCharCount="81920" maxStringContentLength="2097152" /> </binding>

  3. 找到<services><service>标签并找到相关服务('Tridion.ContentDelivery.Webservice.ODataService' 并更新bindingConfiguration属性以匹配新添加的绑定的名称(在本例中为 AdjustedBindingConfiguration)

  4. 再次点击“更新预览”

于 2013-12-02T15:28:15.450 回答
1

我还没有看到这个,但是当我的会话预览内容交付端点 URL 配置错误时,类似的东西。

阅读错误描述,我猜您的端点 URL(会话预览 oData 服务)已启动并正在运行,但它可能还有其他一些问题。我会检查您是否可以手动浏览该 oData 服务,如果看起来不错,请查看其日志文件以获取更多详细信息。

在 IIS 上,这通常意味着正确的 jar 和 DLL 存在问题,请检查以下步骤:

  1. 对于 oData 网站,确保从用户界面文件夹 \Content Delivery\roles\webservice\dotNET\webapp\x86_64.zip\bin 复制 DLL,并从 \Content Delivery\roles\webservice\dotNET\webapp\x86_64 更新 jar。压缩\bin
  2. 对于 oData 网站,验证 web.config 节点“bindingConfiguration”属性是否正确
  3. 对于预览网站,确保从用户界面文件夹 \Content Delivery\roles\web\dotNET\webapp\x86_64.zip\bin 复制 DLL,并将所有 jar 替换为用户界面文件夹 \Content Delivery\roles\web\ 中的内容dotNET\webapp\x86_64.zip\bin\lib
于 2012-07-10T10:43:58.950 回答
1

对我来说,解决方案是在会话预览 Web 服务的标准 web.config 中将 maxReceivedMessageSize 增加到“524288000”,将 maxBufferSize 增加到“524288000”

<webHttpBinding>
                <binding name="HttpBinding" maxReceivedMessageSize="524288000" maxBufferSize="524288000">
                    <readerQuotas maxArrayLength="81920" maxBytesPerRead="5120" maxDepth="32" maxNameTableCharCount="81920" maxStringContentLength="2097152" />
                    <security mode="TransportCredentialOnly">
                        <transport clientCredentialType="None" />
                    </security>
                </binding>

于 2015-04-02T10:47:19.103 回答