2017-05-04 91 views
0

在使用FileNet P8的内容平台引擎5.2.1和WebSphere 8.5.5.3我的当前项目工作时,Eclipse 4.5.2火星和Apache Maven的3.3.1Factory.Folder.fetchInstance方法不与路径

我获得用代码的连接对象是这样的:

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:未找到请求的项目。文件夹/乐透 找不到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) 在 com.filenet.engine.retrieve.IndependentClassRetriever.getObject(IndependentClassRetriever.java:815) 在 com.filenet.engine.retrieve.IndependentClassRetriever.getObject (IndependentClassRetriever.java:749) at com.filenet.engine.retrieve.IndependentClassRetriever.getObject(IndependentClassRetriever.java:362) com.filenet.engine.jca.impl.RequestBrokerImpl.getObjects(RequestBrokerImpl.java:913) 在 com.filenet.engine.jca.impl.RequestBrokerImpl.getObjects(RequestBrokerImpl.java:816) ...

该文件夹位于对象存储的根和安全设置是这样的:

Folder security

我在做什么错?

回答

1

凡纳是为您提供的错误信息是非常明确和简洁:

要求的项目没有被发现。找不到文件夹/乐透L02/Amministrazione AMM_000072_00001。

这可能是因为您正在查看错误的域,objectstore,或者您没有权限读取该文件夹。也许你正试图获取一个你没有保存到对象库的文件夹。

无论如何,我没有看到你提供的代码有什么问题;但是,由于信息有限,我只能假设该文件夹不存在从连接到FileNet的角度。

+0

我可以保证该文件夹存在,并且我用来执行操作的用户具有足够的权限。此外,如果该文件夹不存在,它将无法通过Id工作。一件小事:你最后一句话是什么意思? – abarisone

+0

最后一句:我不知道你在哪里运行你的java代码,所以我不知道你的连接是如何获得的,什么用户上下文连接到连接,以及该用户的访问权限是否被允许看到文件夹。您的连接,域名,操作系统,文件夹,用户都是变量。 如果这是一个事件操作,那么用户上下文就是GCD管理员。 如果这是一个ICN插件,那么在继续之前,您将建立连接和用户上下文。 –