我有一个应用程序通过RIDC执行对内容项的更新。该项目是通过 Content ID 指定的。由于 UPDATE_DOCINFO 服务需要 dID ,因此首先运行 DOC_INFO 服务以获取它。
DOC_INFO 返回信息就好了。但是,当 UPDATE_DOCINFO 运行时,它似乎总是返回一条错误消息,指示创建日期无效。内容项通过Native Web UI更新而没有该错误消息。我的代码在指向Oracle WCC 11G服务器时有效。
我试过了:
使用 dCreateDate
将 dID 添加到新的DataBindergetDate()
DataObjectEncodingUtils.decodeDate()
(w / get()
)getDate()
)DataObjectEncodingUtils.encodeDate()
(w / getDate()
)get()
代替getDate()
直接使用 DOC_INFO 的响应Binder
列出的所有方法都返回了相同的错误消息。
答案 0 :(得分:1)
dCreateDate不应该被要求执行UPDATE_DOCINFO。必须有一些上游(在Content Server内部,例如配置文件/规则或组件)导致需要该字段和/或将其设置为值。即使你没有设置它,也有可能导致这个字段被设置(无论哪种方式,当你没有设置它以确保它是合适的时候它不知何故得到了设定。
我发现您可能会看到或未看过这篇文章:http://onwardpath.com/2015/09/19/date-formatting-while-using-ridc.html其中包含一些有关设置日期格式的其他信息。
在Content Server日志中发布堆栈跟踪的内容(如果有)可能会有所帮助。
答案 1 :(得分:0)
尝试使用oracle.stellent.ridc.model.impl.DataObjectEncodingUtils.decodeDate将String(格式为2010-02-04 06:00:00Z)转换为Java Calendar对象。
可以找到更多信息here。
答案 2 :(得分:0)
在就此问题与Oracle支持人员合作之后,我找到了答案。
RIDC 默认为 ISO8601 格式化日期。但是,我的服务器使用的是不同的日期格式。
解决方案是: