2014-06-17 4 views
0

Я хочу выполнить простой запрос с помощью PHP CMIS-клиента, который я получил на странице 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' не определен в Entity, строка: 22 в cmis_repository_wrapper.php в строке 392

Я что-то упустил в своей реализации? Или что-то не так с оберткой, представленной на странице проекта химии?

+0

Вы используете устаревшую конечную точку CMIS. См. Https://stackoverflow.com/questions/22218781/alfresco-cmis-parents-query-returning-unexpected-empty-result/22219680#22219680. –

+0

Я попытался изменить конечную точку на указанную в ответе, а также еще одну (alfresco/cmisatom). Я не получаю ошибку, которую я получал раньше, но массив возвращается пустым. Я знаю, что у меня есть документы в репозитории. И я спросил как с завитом, так и с рабочим столом, и я могу их видеть, но когда я спрашиваю, я не могу. – Kross

ответ

1

Если вы используете Alfresco 4.2.f в URL должен быть:

http://localhost:8080/alfresco/api/-default-/public/cmis/versions/1.0/atom 

Кроме того, может быть, вы просто неправильно набранный, когда вы включили ваш фрагмент кода, но нет такого понятия, как «см: документ». Я думаю, вы имели в виду «cmis: document».

+0

Я, но этот, кажется, дает мне проблему, когда я это называю ... Я не получаю никаких данных на PHP, но он отлично работает в workbench. Используя это: 'http: // localhost: 8080/alfresco/s/cmis'. Кажется, он работает на данный момент, хотя он дает мне массу уведомлений. – Kross

0

У меня возникла проблема. Следующие работы для меня:

$query = <<<CMIS 
    SELECT * 
    FROM cmis:document 
    WHERE (CONTAINS('cmis:name:\'$query*\'') 
    OR CONTAINS('\'$query\'')) 
    CMIS; 

В вашем случае, вы можете попробовать:

$query = <<<CMIS 
    SELECT * 
    FROM cmis:document 
    CMIS; 

Im все еще ищет различные способы, чтобы получить запрос через, но не имел большого успеха. Сообщите мне, если это сработает для вас, и если у вас есть другой способ сделать это.