1
安装转换我试图加载转换到marklogic数据库,但它失败导致“无论是不是有效的模块,或者不提供在http://marklogic.com/rest-api/transform/validate命名空间扩展功能(变换)”。在MarkLogic服务器
我xqy文件如下:
xquery version "1.0-ml";
module namespace trans = "http://marklogic.com/rest-api/transform/validate";
declare function trans:transform(
$context as map:map,
$params as map:map,
$content as document-node()
) as document-node()
{
let $validate := validate strict { $content }
return $content;
};
我运行下面的命令:
curl --anyauth --user admin:admin -X PUT [email protected]"./filetype_xform.xqy" -i -H "Content-type: application/xquery" 'http://localhost:8061/v1/config/transforms/validate'
而且,我看到的错误是: HTTP/1.1 400错误的请求 内容 - 键入:application/json;字符集= UTF-8 服务器:MarkLogic 的Content-Length:557 连接:保持活动 保持活动:超时= 5
{"errorResponse":{"statusCode":400, "status":"Bad Request", "messageCode":"RESTAPI-INVALIDCONTENT", "message":"RESTAPI-INVALIDCONTENT: (err:FOER0000) Invalid content: invalid validate extension: could not parse XQuery extension validate; please see the server error log for detail XDMP-UNEXPECTED: (err:XPST0003) Unexpected token syntax error, unexpected Rbrace_, expecting Function30_ or Percent_; validate either is not a valid module or does not provide extension functions (transform) in the http://marklogic.com/rest-api/transform/validate namespace"}}[[email protected] transformations]
我很欣赏解决这个问题的任何帮助。
我有一个类似的职位,但删除了它,因为这对传来的只是在我面前。要明确,ML不会加载带有语法错误的文件。来自其他API以及ML错误日志的响应是你的朋友。虽然有点含糊,但它仍然告诉你,你的代码本身已经破裂 - 给你看看的地方。 –
通过转到管理应用程序中的组 - 默认值并启动“文件日志级别”为“调试”,您可以从REST API中获得完整的堆栈跟踪。 – rjrudin