Flex httpService: SOAP -Reaktion kann nicht dekodiert werden. Rohe Antwort:
-
19-09-2019 - |
Frage
Ich versuche, meine Flex -App mit einem CFC zu verbinden. Ich habe eine Methode. Es wird eine Anmeldesteuerung getestet, und wenn ich die richtigen Anmeldeinformationen einfügt, kommt es mit dem Fehler zurück: "SOAP -Antwort kann nicht dekodiert werden. Rohantwort:".
Die CFC -Methode lautet:
<!--- 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>
Ich bin mir nicht sicher, wie ich das dekorieren soll. Die CFC -Methode gibt eine Zeichenfolge zurück, die ich als Flag verwendet habe. Sollte das geändert werden? Danke Leute
Lösung
Hier ist, was ich denke, passiert:
1: Ein Benutzer wird zurückgegeben ("Bob")
2: CF versucht, Benutzer [1] zu bewerten.
3: Der ReturnVar ist auf False eingestellt, aber der Fehler verhindern, dass die Funktion fortgesetzt wird (dies ist eine Vermutung)
4: Der erwartete Werttyp wird nicht in Flex zurückgegeben, daher Flexfehler
Zunächst würde ich Schritt 3 testen, indem ich den Fangblock auf den Block ändern würde
<cfcatch><cfreturn "false"></cfcatch>
Anstatt den Benutzer einzuschalten [1].