JavaScript中的MarkLogic 8转换

时间:2015-08-17 13:22:20

标签: marklogic

我试图在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'

1 个答案:

答案 0 :(得分:2)

我认为这里的主要问题是您正在调用REST扩展,并且您无法将transform参数应用于此。这只适用于/ v1 / documents,/ v1 / search,以及其他几个,如果我没有记错的话。另见:

http://docs.marklogic.com/REST/POST/v1/resources/[name]

HTH!