Flex HTTPService: réponse SOAP ne peut pas être décodé. réponse brute:
-
19-09-2019 - |
Question
Je suis en train de connecter mon application flex à un CFC je qui appelle une méthode. Il est de tester un contrôle de connexion, et quand je mets les informations d'identification correctes dans, il revient avec l'erreur: «Réponse SOAP ne peut pas être décodé réponse Raw: ».
La méthode de CFC est:
<!--- Array of Users is called --->
<cfset user = EntityLoad( "User", {emailAddress='#arguments.emailAddress#', password='#arguments.password#'}, true ) />
<cfset returnvar = "false"/>
<cftry>
<cfif user[1].firstName>
<cfset returnvar = "true"/>
<cfelse>
<cfset returnvar = "true"/>
</cfif>
<cfcatch type="any">
<cfset returnvar = "false"/>
</cfcatch>
</cftry>
<cfreturn returnvar />
</cffunction>
Je ne sais pas comment cela Decore. Le procédé CFC retourne une chaîne de caractères, que j'utilise comme un drapeau. Faut-il être changé? Merci les gars
La solution
Voici ce que je pense qui se passe:
1: un utilisateur est renvoyée ( "Bob")
2: CF tente d'évaluer l'utilisateur [1] .firstname comme un booléen, mais Bob est pas un booléen
3: Le returnvar est défini sur false, mais l'erreur arrête la fonction de poursuite du traitement (ce qui est une supposition)
4: Le type de valeur attendue ne revient pas à Flex, erreurs si Flex
D'abord, je ferais pas de test 3 en changeant le bloc catch à
<cfcatch><cfreturn "false"></cfcatch>
Alors, au lieu de passer à l'utilisateur [1] .firstname, j'allume user.recordcount.