2016-08-23 5 views
1

Это должно быть просто, и, вероятно, это так, но я не могу получить данные XML формы проекта через API REST, описанный в документах Orbeon.Попытка получить данные формы как XML через REST API

я сделал следующие изменения в файл свойств локальной-dev.xml:

<property 
    as="xs:string" 
    processor-name="oxf:page-flow" 
    name="page-public-methods" 
    value="GET HEAD POST"/> 

<property 
    as="xs:string" 
    processor-name="oxf:page-flow" 
    name="service-public-methods" 
    value="GET HEAD"/> 

<property 
    as="xs:anyURI" 
    name="oxf.fr.persistence.exist.exist-uri" 
    value="/exist/rest/db/orbeon/fr"/> 

<page public-methods="GET HEAD POST" view="view.xpl"/> 
<service public-methods="GET HEAD"  view="view.xpl"/> 

Тогда я попробовал разные URL, чтобы вызвать данные:

http://localhost:9090/orbeon/exist/rest/db/orbeon/fr/gsmn/hello-world/draft/f025a471b2c8452dd65267cc5886063d995757f5/data.xml 
    http://localhost:9090/orbeon/crud/gsmn/hello-world/draft/f025a471b2c8452dd65267cc5886063d995757f5/data.xml 
    http://localhost:9090/orbeon/fr/service/persistence/crud/gsmn/hello-world/draft/f025a471b2c8452dd65267cc5886063d995757f5/data.xml 

Форма Runner находится на: http://localhost:9090/orbeon/fr/

Есть ли что-то очевидное, что мне не хватает?

Благодаря Noel

ответ

0

Если предположить, что название приложения является gsmn и ваше имя форма hello-world, то последний URL вы упомянули (скопированный ниже для ясности), должен работать.

http://localhost:9090/orbeon/fr/service/persistence/crud/gsmn/hello-world/draft/92aad35a44876b3bfac3b4d6f835130fbd1fe19e/data.xml

Однако, скорее всего, проблема в том, что вы пытаетесь это с Exist, и что, как это письмо, функциональность автосохранения не поддерживается Orbeon форм на СУЩЕСТВУЕТ; он поддерживается только в реляционных базах данных. Подробнее об этом см. В разделе support matrix for different databases и RFE to add support for autosave on eXist.

+0

Hi Alex Хорошо, это означает, что получение формы данных как XML через этот вызов REST работает только в том случае, если есть подключенная база данных, верно? Прежде чем я попытаюсь получить базу данных, запущенную с сервером orbeon, чтобы я мог получить данные xml через этот вызов REST. Спасибо – Noel

+0

Другой вопрос: Есть ли способ сделать хранилище данных eXist стойким? Таким образом, eXist сохраняет данные в XML-файле на сервере? Или это всегда хранится в памяти? С уважением – Noel

+0

Hi Noel, * drafts * в контексте * autosave * поддерживаются только реляционными базами данных и не поддерживаются с помощью eXist. Чтобы быть ясным, с eXist это не просто, что API не вернет проект, это значит, что нет автосохранения, и, следовательно, нет черновика в базе данных, который API мог бы вернуть. -Alex – avernet