我想使用从Apache Chemistry页面获得的PHP CMIS客户端执行一个简单的查询。作为概念证明,我认为以下代码应该按预期工作:
<?php
require_once 'cmis_repository_wrapper.php';
$repo_url = 'http://localhost:8080/alfresco/s/cmis';
$repo_username= 'admin';
$repo_password= 'admin';
$query = 'SELECT * FROM cm:document';
$client = new CMISService($repo_url, $repo_username, $repo_password);
$objs = $client->query($query);
foreach($objs->objectList as $obj)
{
print_r($obj);
}
?>
然而,当我尝试运行这个时,我得到以下错误:
警告:DOMDocument::loadXML():实体'nbsp'没有定义在实体,行:22在cmis_repository_wrapper.php在第392行
我在实现中错过了什么吗?还是化学项目页面提供的包装器有问题?
如果您使用的是Alfresco 4.2。如果URL应该是:
http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.0/atom
另外,也许你只是在包含代码片段时打错了,但是没有"cm:document"这样的东西。我想你说的是"cmis:document"
我自己也有一些问题。以下内容适合我:
$query = <<<CMIS
SELECT *
FROM cmis:document
WHERE ( CONTAINS('cmis:name:'$query*'')
OR CONTAINS(''$query''))
CMIS;
在你的情况下,你可以试试:
$query = <<<CMIS
SELECT *
FROM cmis:document
CMIS;
我仍然在寻找不同的方式来获得查询,但没有多少成功。让我知道这是否适合你,如果你有其他的方法。