尝试签入现有文件时,Oracle-UCM服务CHECKIN_UNIVERSAL会抛出错误

时间:2015-02-10 09:32:54

标签: java web-services oracle-ucm

我正在开发Java代码,用于检查系统中是否存在文件以及是否已检出该文件。在这些检查之后,它调用CHECKIN_UNIVERSAL服务。这就是它停止的地方。签入新文件可以正常工作,但是签入现有文件会导致错误。

显示的特定错误(未对原始代码进行修改)是!cscheckinitemexists。一堆谷歌搜索引出了清除数据绑定器的解决方案,然后它出现了无法检索或使用安全令牌的错误。

这是我用来清除和检索数据绑定器的代码:

m_binder.clearResultSets();
m_binder.getLocalData().clear();
m_binder.setEnvironment(new IdcProperties(SharedObjects.getSecureEnvironment()));

2 个答案:

答案 0 :(得分:0)

其余代码是什么样的?您可以链接到Gist。

一般来说,由于数据污染,我遇到了这种情况(如你所说)。

您是否有理由使用m_binder而不是创建全新的DataBinder?

在查看您的要点之后,您正在使用m_binder(来自服务的DataBinder)来执行CHECKIN_UNIVERSAL。不要这样做。使用单独的DataBinder(就像您为DOC_INFO_BY_NAME服务电话所做的那样)。

使用requestBinder或新的DataBinder。

答案 1 :(得分:0)

避免此问题的另一种方法是不查找结帐。 CHECKIN_UNIVERSAL支持一个标记,如果内容项尚未检出,则会检出该内容项。

添加标志" isForceCheckout"到你的活页夹,值为" 1"。