Это проблема, с которой я сталкивался много раз раньше. Я не могу захватить типы при загрузке данных в MarkLogic.Объект MarkLogic 8 для узла документа
Функция source.createSource ожидает:
$title as xs:string,
$dataset as xs:string?,
$content as document-node()*
TypeOf (вход) показывает, что это объект. Поэтому мне нужно перейти с этого объекта на узел документа.
данных
{ "id": "123",
"something": "yes"
}
Ошибка
2015-08-19 09:26:35.150 Info: vriend: Status 500: JS-JAVASCRIPT: sourceId = source.createSource(title, dataset, source); -- Error running JavaScript request: TypeError: undefined is not a function
Script
/**
* @name vriendingest
* This REST extension provides SOAP service for the shipment data
*/
//declareUpdate();
var eput = require("/MarkLogic/rest-api/lib/endpoint-util.xqy");
var link = require("/ext/obi/lib/link-lib.xqy");
var object = require("/ext/obi/lib/object-service-lib.xqy", "/ext/obi/lib/object-lib.xqy");
var source = require("/ext/obi/lib/source-lib.xqy");
function put(context, params, input) {
xdmp.log('input ' + typeof(input));
var data = input.toObject();
xdmp.log('data ' + typeof(data));
xdmp.log(data.length);
testing = source.buildUri('takethisuri');
title = 'test';
source = data;
dataset = "cswifi";
sourceId = source.createSource(title, dataset, source);
xdmp.log(sourceId);
response = '{success: "or something"}';
context.outputTypes = ["application/xml"];
context.outputStatus = [200, "OK"];
return response;
}
// Main
exports.PUT = put;
Изменен, все те же проблемы. спасибо за совет редактора, но я никогда не нашел редактора, поддерживающего расширения MarkLogic REST. Я использую плагин MarkLogic Sublime, но он не поддерживает SJS, как кажется. – Thijs
Я отправил некоторые редакционные предложения в автономном режиме и обновил ответ ... – grtjn
Наконец-то заметил, что преобразование «declare namespace» мешало функции var. Еще раз спасибо. – Thijs