2015-08-11 4 views
0

Je cours Lucee 4.5.1.023 sur Ubuntu 14.04.3 LTS. Lorsque je crée un fichier .cfm et que je fais un cfoutput ou un cfdump, la sortie est comme prévu. Toutefois, lorsque j'utilise une fonction dans un CFC et que la fonction set = output = "true" et exécute cfoutput ou cfdump, le résultat est le suivant "Erreur d'analyse XML: pas bien formé". L'erreur d'analyse XML est renvoyée si output = "false" et si aucune sortie n'est générée. par exemple.Lucee CFCs lancer une erreur XML

<cfcomponent> 
    <cffunction name="test" access="remote" output="false"> 
     <cfset var a = 1> 
    </cffunction> 
</cfcomponent> 

Toute aide ou suggestion serait grandement appréciée.

Répondre

0

Je n'ai pas installé de lucee mais votre méthode d'accès aux fonctions est définie sur "remote". Mon hypothèse est que le serveur de lucee essaie en conséquence de retourner une réponse au format XML. La sortie de n'importe quel élément de votre appel de fonction sera insérée dans le flux XML généré qui va rompre le XML. Pour le débogage, vous pouvez définir la méthode d'accès sur "public" et la sortie sur true.

Cela vous permettra de déboguer le code. En fait, à moins que vous n'ayez l'intention d'exposer vos CFC en tant que service, il vaut probablement mieux ne pas utiliser «distant».

Vous pouvez également appeler votre méthode à partir d'une page cfml standard. Vous pouvez configurer explicitement une telle page pour le débogage du composant pendant le développement.

<cfset myComponent = createObject("mycomponent")> 

<cfoutput> 
    <cfset myComponent.myMethod()><!--- ---> 
</cfoutput> 
+0

Nous vous remercions de votre réponse. Passer à "public" entraîne l'erreur suivante "component [test] n'a pas de fonction distante avec le nom [test]". Dans le passé (ColdFusion ou Railo), exposer des fonctions comme «à distance» leur permettait d'être frappé par un navigateur Web ou par un appel ajax. – scoDubblT

+0

alors que l'on soupçonne que le CFC est appelé en tant que service Web. Si vous postez la façon dont vous essayez d'appeler la méthode, je pourrais très probablement vous donner un exemple sur la façon d'appeler la méthode à des fins de test. –

+0

Ce serait très utile. Je vous remercie. – scoDubblT