我正在开发一个应用程序,允许用户在客户端应用程序上进行多次上传。我是在Eclipse环境中使用Java做的。当我执行checkin_new服务来执行de uploads时,问题就开始了。它显示错误:
用户'weblogic'在主机'myhost.com'上生成的事件。内容项'123456'未成功签入。内容ID不是唯一的。 [ 细节 ] 发生了错误。下面的堆栈跟踪显示了更多信息。
!csUserEventMessage中,WebLogic,myhost.com!$!csUnableToCheckIn,093621!csCheckinIDNotUnique intradoc.common.ServiceException:!csUnableToCheckIn,123456!csCheckinIDNotUnique * ScriptStack CHECKIN_NEW_SUB 3:doScriptableAction,DID = 107636,dDocName = 123456:doSubService,DID = 107636,dDocName = 123456CHECKIN_NEW_SUB,DID = 107636,dDocName = 1234563:makeNewRevClass,DID = 107636,dDocName = 123456 at intradoc.server.ServiceRequestImplementor.buildServiceException(ServiceRequestImplementor.java:2176) at intradoc.server.Service.buildServiceException(Service.java:2424) at intradoc.server.Service.createServiceExceptionEx(Service.java:2418) at intradoc.server.Service.createServiceException(Service.java:2413) at intradoc.server.DocServiceHandler.makeNewRevClass(DocServiceHandler.java:602) at sun.reflect.GeneratedMethodAccessor319.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在java.lang.reflect.Method.invoke(Method.java:597) at intradoc.common.IdcMethodHolder.invokeMethod(IdcMethodHolder.java:86) at intradoc.common.ClassHelperUtils.executeMethodReportStatus(ClassHelperUtils.java:324) ...........................................
我启用了dID的自动生成,所以我不必将其作为参数传递,我在其他应用程序中使用相同的服务,我从来没有遇到过这个问题。 签入方法如下:
public void checkinNew(String dDocTitle, String dDocType, String dSecurityGroup, String docAccount,
String dDocAuthor, String localPath, String wccPath) throws IdcClientException, IOException {
HdaBinderSerializer serializer = new HdaBinderSerializer("UTF-8", idcClient.getDataFactory());
DataBinder binder = idcClient.createBinder();
binder.putLocal("dDocTitle", dDocTitle);
binder.putLocal("dDocType", dDocType);
binder.putLocal("dSecurityGroup", dSecurityGroup);
binder.addFile("primaryFile", new File(localPath));
binder.putLocal("doFileCopy", "true");
binder.putLocal("dDocAuthor", dDocAuthor);
binder.putLocal("dDocAccount", docAccount);
binder.putLocal("IdcService", "CHECKIN_NEW");
binder.putLocal("fParentPath", wccPath);
serializer.serializeBinder(System.out, binder);
ServiceResponse response = idcClient.sendRequest(userPasswordContext, binder);
DataBinder responseData = response.getResponseAsBinder();
ServiceResponse myServiceResponse = null;
myServiceResponse = idcClient.sendRequest(userPasswordContext, responseData);
InputStream myInputStream = myServiceResponse.getResponseStream();
String myResponseString = myServiceResponse.getResponseAsString();
// serializer.serializeBinder(System.out, responseData);
}
我在互联网上搜索了一个解决方案,但是,我找不到任何帮助我的方法。我找到了一些关于数据库错误的信息,但我的数据库似乎没问题,所以任何帮助都将不胜感激。
干杯。