0

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

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

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

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

2 回答 2

0

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

通常,由于数据污染(如您所说),我遇到了这个问题。

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

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

使用 requestBinder 或新的 DataBinder。

于 2015-02-11T04:36:28.867 回答
0

避免此问题的另一种方法是根本不寻找结帐。CHECKIN_UNIVERSAL 支持一个标志,如果内容项尚未签出,则将其签出。

将标志“isForceCheckout”添加到您的活页夹中,其值为“1”。

于 2016-06-24T17:16:31.253 回答