2017-08-11 4 views
0

J'ai essayé de lancer la requête XQuery suivante via l'API (j'ai suivi le lien: https://docs.marklogic.com/8.0/REST/POST/v1/eval).XDMP-BADCHAR: Caractère inattendu trouvé « " »

Il fonctionne avec l'exemple de base, mais lorsque je tente avec une requête pour extraire des données de ML et de les enregistrer sur le disque, je l'erreur suivante:

{"errorResponse":{"statusCode":500, "status":"Internal Server Error", "messageCode":"XDMP-BADCHAR", "message":"XDMP-BADCHAR: (err:XPST0003) Unexpected character found '\"' (0x0022)", "messageDetail":{"messageTitle":"Unexpected character found"}}} 

Mon fichier XQuery contient:

xquery= 
xquery version "1.0-ml"; 
xdmp:save("toto.csv",let $nl := "
" return document { for $book in collection("book")/optIns where root($book)/duplicate eq false() return (root($book)/contactId||","|| root($book)/countryCode||$optin/updatedDate||$nl)}) 

Merci, Romain.

+0

Dans votre fichier, je ne vois pas où vous spécifiez la base de données de contenu. Il peut également être utile de voir la commande curl que vous utilisez pour exécuter le script. –

+0

Salut, tu as raison! Je le spécifie dans la commande curl avec "? Database = XYZ" –

Répondre

3

Vous avez probablement quelque chose dans votre texte de requête qui doit être encodé en URL. Essayez d'utiliser --data-urlencode au lieu de -d, ou sinon d'encoder vos valeurs de formulaire avant de les passer à curl.