【发布时间】:2016-05-18 05:48:12
【问题描述】:
我正在使用 Ubuntu 机器。 我正在使用 curl 命令进行 POST 调用,并将 xquery code 作为 --data 以字符串格式发送。 作为回应,我收到以下错误:
xdmp:database()HTTP/1.1 500 REST-UNSUPPORTEDPARAM: (rest:UNSUPPORTEDPARAM) Endpoint does not support query parameter: xdmp:database()
下面是完整的 curl 命令
curl -v --digest -u username --request POST "http://host:port/qconsole/endpoints/evaler.xqy?dbid=someid&querytype=xquery&action=eval" --data "xdmp:database()"
在上面的命令中,我基本上是在目标机器上运行 xquery 代码(host:port/endpoints/evaler.xqy)
这是传递 xquery 代码的正确方法吗?
更新:
我正在使用 ML 7
通过标头后,我能够运行 XQuery 代码,但面临另一个问题。
当我将“xdmp:database()”作为数据传递时,它工作正常(参见下面的命令),在响应中我得到了数据库 ID。
curl -v --digest -uusername --data "xdmp:database()" --header "Content-type:text/x-www-form-urlencoded" --header "Accept: multipart/mixed; boundary=BOUNDARY" --request POST "http://host:port/qconsole/endpoints/evaler.xqy?dbid=dbid&querytype=xquery&action=eval"
当我尝试将“let $x := 10 return $x”作为数据传递时(如下命令所示),我得到了
x:未定义的变量
连密码都不问!!
curl -v --digest -u username --data "let $x := 10 return $x" --header "Content-type:text/x-www-form-urlencoded" --header "Accept: multipart/mixed; boundary=BOUNDARY" --request POST "http://host:port/qconsole/endpoints/evaler.xqy?dbid=dbid&querytype=xquery&action=eval"
无法弄清楚,我做错了什么。
请帮忙。
【问题讨论】:
标签: ubuntu curl xquery marklogic