Python Filenet和cmislib。属性错误:';仓储服务&x27;对象没有属性';装订';getObjectByPath时出错

Python Filenet和cmislib。属性错误:';仓储服务&x27;对象没有属性';装订';getObjectByPath时出错,python,cmis,opencmis,filenet,Python,Cmis,Opencmis,Filenet,我正在尝试获取数据并将其发送到Filenet。 我使用的是cmislib 0.6.0。(Python) 我尝试使用的环境有多个回购协议。 如果我使用 repo = client.defaultRepository 我没有得到我想要的回购协议(它不是列表中的第一个)。 因此,出于这个原因,我使用 my_rep = client.getRepository('MY_REPO_ID') 但是当我试图通过路径获取文件夹时 my_folder = my_repo.getObjectByPath('/M

我正在尝试获取数据并将其发送到Filenet。 我使用的是cmislib 0.6.0。(Python)

我尝试使用的环境有多个回购协议。 如果我使用

repo = client.defaultRepository
我没有得到我想要的回购协议(它不是列表中的第一个)。 因此,出于这个原因,我使用

my_rep = client.getRepository('MY_REPO_ID')
但是当我试图通过路径获取文件夹时

my_folder = my_repo.getObjectByPath('/MY_PATH')

*** AttributeError: 'RepositoryService' object has no attribute 'binding'
如果我检查回购财产:

my_repo._cmisClient.__dict__

{'logger': <logging.Logger object at 0x7f0fc73d79d0>, '_uriTemplates': {}}
my\u repo.\u cmisClient.\u dict__
{'logger':,'u uriTemplates':{}
我的默认回购(不是我想要的回购)具有绑定属性:

repo_default._cmisClient.__dict__

{'username': 'USER', 
 'repositoryUrl': 'http://HOST:9080/fncmis/atom11', 
 'binding': <cmislib.atompub.binding.AtomPubBinding object at 0x7f0fc6afb850>, 
 'extArgs': {}, 
 'logger': <logging.Logger object at 0x7f0fc73d7990>, 
 'password': 'PASSWORD'}
{
   'username': 'REPO_USER',
   'repositoryUrl': 'REPO_URL',
   'binding': < cmislib.atompub.binding.AtomPubBinding object at 0x107f2e550 > ,
   'extArgs': {},
   'logger': < logging.Logger object at 0x107f2e590 > ,
   'password': 'REPO_PWD'
}
repo\u默认值__
{'username':'USER',
'repositoryUrl':'http://HOST:9080/fncmis/atom11', 
“绑定”:,
'extArgs':{},
“记录器”:,
“密码”:“密码”}
我缺少的配置是什么

非常感谢。我找到了解决办法

问题在于回购协议的委托人

使用client.defaultRepository创建回购时,回购属性为:

>>> repo_default.__dict__

{
    '_capabilities': {},
    '_repositoryName': None,
    '_permDefs': {},
    '_permMap': {},
    '_propagation': None,
    '_repositoryInfo': {},
    '_cmisClient': < cmislib.model.CmisClient object at 0x107a0b250 > ,
    '_repositoryId': None,
    'logger': < logging.Logger object at 0x107faca10 > ,
    '_permissions': None,
    'xmlDoc': < DOM Element: app: workspace at 0x1083ef998 > ,
    '_uriTemplates': {}
}
而在第二种情况下,回购是通过方法getRepository(self、client、repositoryId)

自助就是寄存服务

因此,解决方案是用客户端替换self:

return AtomPubRepository(client, workspaceElement)
我希望有帮助

更新: 我已为原始cmislib提供了此问题的修复:

{
    'logger': < logging.Logger object at 0x107f2e5d0 > ,
    '_uriTemplates': {}
}
repository = AtomPubRepository(client, [e for e in workspaceElements if e.nodeType == e.ELEMENT_NODE][0])
return AtomPubRepository(self, workspaceElement)
return AtomPubRepository(client, workspaceElement)