0

在我当前使用 Filenet P8 Content Platform Engine 5.2.1 和 WebSphere 8.5.5.3、Eclipse Mars 4.5.2 和 Apache Maven 3.3.1 的项目中

我使用如下代码获取连接对象:

Connection connection = Factory.Connection.getConnection(url);
Subject subject = UserContext.createSubject(connection, username, password, null);
UserContext context = UserContext.get();
context.pushSubject(subject);

用户名在哪里p8admin,对象存储在哪里:

Domain domain = Factory.Domain.fetchInstance((com.filenet.api.core.Connection) conn, null, null);                   
objectStore = Factory.ObjectStore.fetchInstance(domain, objectStoreName, null);

当使用 fetchInstance 方法从其路径中获取文件夹时,代码如下:

String folderPath = "/Lotto L02‎/Amministrazione AMM_000072_00001";
PropertyFilter pf = new PropertyFilter();    
pf.addIncludeProperty(new FilterElement(null, null, null, PropertyNames.PERMISSIONS, null));
Folder folder = Factory.Folder.fetchInstance(objectStore, folderPath, pf);

如果我使用 folderID 一切正常,而使用 folderPath 它不起作用,得到:

com.filenet.api.exception.EngineRuntimeException:FNRCE0051E:E_OBJECT_NOT_FOUND:未找到请求的项目。找不到文件夹 /Lotto L02‎/Amministrazione AMM_000072_00001。errorStack={ 在 com.filenet.engine.retrieve.FolderCache.getFolderId(FolderCache.java:515) 在 com.filenet.engine.retrieve.IndependentClassRetriever.getObjectIdForPath(IndependentClassRetriever.java:936) 在 com.filenet.engine.retrieve。 IndependentClassRetriever.getObjectByPath(IndependentClassRetriever.java:867) at com.filenet.engine.retrieve.IndependentClassRetriever.getObject(IndependentClassRetriever.java:815) at com.filenet.engine.retrieve.IndependentClassRetriever.getObject(IndependentClassRetriever.java:749) at com .filenet.engine.retrieve.IndependentClassRetriever.getObject(IndependentClassRetriever.java:362) 在 com.filenet.engine.jca.impl。

该文件夹位于对象存储的根目录中,安全性设置如下:

文件夹安全

我究竟做错了什么?

4

1 回答 1

1

FileNet 为您提供了一条非常清晰简洁的错误消息:

未找到请求的项目。找不到文件夹 /Lotto L02‎/Amministrazione AMM_000072_00001。

这可能是因为您正在查找错误的域、对象库,或者您没有读取该文件夹的权限。也许您正在尝试获取尚未持久保存到对象存储的文件夹。

无论如何,我认为您提供的代码没有任何问题;但是,由于可用信息有限,我只能假设从与 FileNet 的连接的角度来看该文件夹不存在

于 2017-05-10T18:04:58.570 回答