0

我有一个通过 RIDC 对内容项执行更新的应用程序。该项目是通过Content ID指定的。由于UPDATE_DOCINFO服务需要dID,因此首先运行DOC_INFO服务来获取它。

DOC_INFO返回信息就好了。但是,当UPDATE_DOCINFO运行时,它似乎总是返回一条错误消息,指示Creation Date is invalid。内容项通过本机 Web UI 更新而没有该错误消息。我的代码在指向 Oracle WCC 11G 服务器时有效。

我试过了:

  1. 在没有dCreateDate的情况下将dID添加到新的 DataBinder
  2. 使用dCreateDatedID添加到新的 DataBinder

    • dCreateDate添加为日期对象(来自我尝试过 的DOC_INFO响应)
      • 通过getDate()
      • DataObjectEncodingUtils.decodeDate()使用(w/ get())手动转换
    • 添加为字符串
      • 使用 SimpleDateFormatter 进行转换,类似于如何 RIDC 编码 (w/ getDate())
      • DataObjectEncodingUtils.encodeDate()使用(w/ getDate())手动转换
      • 作为 ””
      • get()代替getDate()
  3. 直接使用DOC_INFO的响应 Binder

  4. 使用 11G RIDC 库(以上 3) 5 使用 10G RIDC 库(以上 1-3)

列出的所有方法都返回了相同的错误消息。

4

3 回答 3

1

不应要求 dCreateDate 执行 UPDATE_DOCINFO。必须有某些上游(在 Content Server 内部,例如配置文件/规则或组件)导致该字段被要求和/或将其设置为一个值。即使您没有设置它,也可能是某些东西导致该字段被设置(无论哪种方式,当您没有设置它时我都会转储活页夹,以确保它以某种方式没有被设置)。

我发现这篇文章您可能看过也可能没看过: http: //onwardpath.com/2015/09/19/date-formatting-while-using-ridc.html,其中包含一些用于设置日期格式的附加信息。

在 Content Server 日志中发布堆栈跟踪的样子(如果有)可能会有所帮助。

于 2015-10-12T16:57:48.817 回答
0

尝试使用oracle.stellent.ridc.model.impl.DataObjectEncodingUtils.decodeDate将字符串(格式为 2010-02-04 06:00:00Z)转换为 Java 日历对象。

更多信息可以在这里找到。

于 2015-10-05T21:00:51.427 回答
0

在与 Oracle Support 合作解决该问题后,我找到了答案。

RIDC默认为ISO8601格式的日期。但是,我的服务器使用不同的日期格式。

解决方案是:

  1. 在RIDC Binder上设置UserDateFormat属性。
  2. 将所有日期序列化到具有匹配格式 的RIDC 活页夹中。
于 2015-10-27T15:44:57.720 回答