我正在编写Java代码,用于检查系统中是否存在文件以及该文件是否已签出。在这些检查之后,它调用CHECKIN_UNIVERSAL服务。这就是它停止的地方。签入新文件很好,但是签入现有文件会产生错误。
显示的特定错误(不修改我的原始代码)是!cscheckinitemexists。一堆谷歌搜索找到了清除数据绑定器的解决方案,但随后出现了无法检索或使用安全令牌的错误。
下面是我用来清除和检索数据绑定的代码:
m_binder.clearResultSets();
m_binder.getLocalData().clear();
m_binder.setEnvironment(new IdcProperties(SharedObjects.getSecureEnvironment()));发布于 2015-02-11 12:36:29
你剩下的代码是什么样子的?您可以链接到Gist。
一般而言,由于数据污染(如您所述),我遇到了这种情况。
你使用m_binder而不是创建一个全新的DataBinder有什么原因吗?
看完要点之后,您将使用m_binder (来自服务的DataBinder )来执行CHECKIN_UNIVERSAL。不要这样做。使用单独的DataBinder (就像您对DOC_INFO_BY_NAME服务调用所做的那样)。
使用requestBinder或新的DataBinder。
发布于 2016-06-25 01:16:31
避免这个问题的另一种方法是简单地不寻找结帐。CHECKIN_UNIVERSAL支持一个标志,用于在内容项尚未签出时将其签出。
将"isForceCheckout“标志添加到您的活页夹中,值为"1”。
https://stackoverflow.com/questions/28428238
复制相似问题