我有一个通过 RIDC 执行内容项更新的应用程序。该项目通过Content ID指定。由于 UPDATE_DOCINFO 服务需要 dID,因此首先运行 DOC_INFO 服务来获取它。
DOC_INFO 返回信息就好了。然而,当UPDATE_DOCINFO运行时,它似乎总是返回一条错误消息,表明创建日期无效。通过 native Web UI 更新内容项时不会出现该错误消息。当指向 Oracle WCC 11G 服务器时,我的代码可以正常工作。
我已经尝试过:
- 将dID添加到新的DataBinder,而不使用dCreateDate
将 dID 添加到新的 DataBinder,并使用 dCreateDate
- 添加dCreateDate作为日期对象(来 self 尝试过的DOC_INFO响应)
- 通过
getDate()
- 使用
DataObjectEncodingUtils.decodeDate()
进行手动转换(使用get()
)
- 通过
- 作为字符串添加
- 使用 SimpleDateFormatter 进行转换,类似于 RIDC 编码方式(w/
getDate()
) - 使用
DataObjectEncodingUtils.encodeDate()
进行手动转换(使用getDate()
) - 作为“”
- 为空
get()
而不是getDate()
- 使用 SimpleDateFormatter 进行转换,类似于 RIDC 编码方式(w/
- 添加dCreateDate作为日期对象(来 self 尝试过的DOC_INFO响应)
直接使用DOC_INFO的响应Binder
- 使用 11G RIDC 库(上述 3) 5 使用 10G RIDC 库(上述 1-3)
列出的所有方法都返回相同的错误消息。
最佳答案
执行 UPDATE_DOCINFO 不需要 dCreateDate。上游(Content Server 内部,例如配置文件/规则或组件)必须有某些内容导致该字段成为必需字段和/或将其设置为一个值。即使您没有设置它,也可能有某些东西导致该字段被设置(无论哪种方式,当您没有设置它时,我都会转储 Binder ,只是为了确保它没有被设置)。
我发现这篇文章你可能看过也可能没看过:http://onwardpath.com/2015/09/19/date-formatting-while-using-ridc.html其中包括一些用于设置日期格式的附加信息。
可能有帮助的是在内容服务器日志中发布堆栈跟踪(如果有)。
关于java - 针对 Oracle WCC 10G 服务器的 RIDC 更新失败,并显示创建日期无效错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32949686/