我想使用我从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():Entity'nbsp'未在Entity中定义,第39行cmis_repository_wrapper.php中的第22行
我在实施中遗漏了什么?或者化学项目页面提供的包装器有问题吗?
答案 0 :(得分:1)
如果您使用的是Alfresco 4.2.f,则网址应为:
http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.0/atom
另外,也许你只是在包含你的代码片段时输错了它,但是没有“cm:document”这样的东西。我认为你的意思是“cmis:document”。
答案 1 :(得分:0)
我自己也遇到过一些问题。以下适用于我:
$query = <<<CMIS
SELECT *
FROM cmis:document
WHERE ( CONTAINS('cmis:name:\'$query*\'')
OR CONTAINS('\'$query\''))
CMIS;
在您的情况下,您可以尝试:
$query = <<<CMIS
SELECT *
FROM cmis:document
CMIS;
我仍然在寻找不同的方法来获取查询,但还没有取得多大成功。 让我知道这是否适合你,如果你有另一种方式。