У меня установлен Marklogic локально.

Хотите настроить экземпляр Rest Api, поэтому следую инструкциям на странице https://developer.marklogic.com/learn/rest/setup#create-a-rest-api-instance

Я копирую и вставляю инструкцию curl, за вычетом продолжения линии обратной косой черты

curl -v -X POST  --anyauth -u admin:admin   --header "Content-Type:application/json"   -d '{"rest-api": { "name": "TutorialServer", "port": "8011", "database": "TutorialDB", "modules-database": "Tutorial-Modules" } }'   http://localhost:8002/v1/rest-apis

Он выполняется, но я получаю ответ: «Полезные данные начальной загрузки вызвали ошибку сервера. Основное сообщение об ошибке: XDMP-JSONDOC: xdmp: get-request-body () - Document is not JSON».

Я не вижу ошибки json, хотя и не эксперт. Работает на Windows 8.1. Копирую текст в документ Word, а затем в подсказку dos.

3
Ribeye 12 Май 2016 в 23:04

2 ответа

Лучший ответ

Теперь я верю, что это проблема, которой можно избежать. То, что показано на странице Marklogic, предположительно работает в среде Linux.

В Windows у меня сработало то, что я не использовал одинарные кавычки. Это означает двойную, а не одинарную кавычку для внешней оболочки строки и экранирование двойных кавычек внутри строки.

-d "{\"rest-api\": { \"name\": \"TutorialServer\", \"port\": \"8011\", \"database\": \"TutorialDB\", \"modules-database\": \"Tutorial-Modules\" } }" \

Большое спасибо Стивену Си из ML за то, что он помог мне.

3
Ribeye 21 Май 2016 в 11:15

Вероятно, у вас есть дюжина очень красивых глифов, которые выглядят, но не так, как вы думаете. Начните заново и не используйте Word, Блокнот или другой текстовый редактор в формате ascii в качестве буфера обмена. Дважды проверьте, является ли кодировка 7-битной ascii, а не 8859-1, или введите ее. Дважды проверьте с помощью шестнадцатеричного дампа, например od -c.

Современные средства публикации отдают предпочтение хорошей типографике, а не точности кодирования символов.

4
scotthenninger 13 Май 2016 в 14:54