Установка Marklogic Rest Api Instance — как инструкции могут не сработать?

У меня локально установлен 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.


person Ribeye    schedule 12.05.2016    source источник


Ответы (2)


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

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

person DALDEI    schedule 12.05.2016

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

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

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

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

person Ribeye    schedule 21.05.2016