我试图在JavaScript REST分机上使用JavaScript转换。我无法使用转换。为了检查这一点,我写了一个跟踪日志行,如下面的脚本所示。 我在使用Roxy上传变换时遇到了麻烦,因此我使用CURL命令进行变换。该命令包括在内。
当我调用此网址时,我希望'转换运行'显示在我的日志文件中:
http://localhost:12040/v1/resources/somethingext?rs:yes=no&transform=something
我得到的就是' ext running'。
somethingext.sjs:
/**
* @name somethingext
* This REST extentsion provides SOAP service for the shipment data
*/
function post(context, params, input) {
try {
xdmp.trace('somethingext', 'ext running ');
// or: xdmp.log('transform');
}
catch(err){
}
}
// Main
exports.POST = post;
something-transform.sjs:
function something(context, params, content) {
var mutableDoc = content.toObject();
xdmp.trace('something', 'transform running');
};
exports.transform = something;
用于上传转换的CURL:
curl --anyauth --user admin:admin -X PUT -i \
--data-binary @"./something-transform.sjs" \
-H "Content-type: application/vnd.marklogic-javascript" \
'http://localhost:12040/LATEST/config/transforms/something'
答案 0 :(得分:2)
我认为这里的主要问题是您正在调用REST扩展,并且您无法将transform参数应用于此。这只适用于/ v1 / documents,/ v1 / search,以及其他几个,如果我没有记错的话。另见:
http://docs.marklogic.com/REST/POST/v1/resources/[name]
HTH!