Flex HttpService: la respuesta de SOAP no se puede decodificar. Respuesta en bruto:
-
19-09-2019 - |
Pregunta
Estoy tratando de conectar mi aplicación Flex a un CFC que tengo que llama a un método. Es para probar un control de inicio de sesión, y cuando pongo las credenciales correctas, vuelve con el error: "La respuesta de jabón no se puede decodificar. Respuesta sin procesar:".
El método CFC es:
<!--- 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>
No estoy seguro de cómo decorar esto. El método CFC devuelve una cadena, que uso como bandera. ¿Debería cambiar eso? Gracias chicos
Solución
Esto es lo que creo que está sucediendo:
1: Se devuelve a un usuario ("Bob")
2: CF intenta evaluar el usuario [1]. El nombre del nombre como un booleano, pero Bob no es un booleano
3: El returnVar se establece en falso, pero el error evita que la función continúe el procesamiento (esto es una suposición)
4: El tipo de valor esperado no se devuelve a Flex, por lo que Flex Errores
Primero, probaría el paso 3 cambiando el bloque de captura a
<cfcatch><cfreturn "false"></cfcatch>
Luego, en lugar de encender el usuario [1] .FirstName, encendería user.RecordCount.