Pergunta

Estou tentando conectar meu aplicativo Flex a um CFC que tenho que chama um método. É para testar um controle de login e, quando coloco as credenciais corretas, ele volta com o erro: "A resposta do SOAP não pode ser decodificada. Resposta bruta:".

O método CFC é:

    <!--- 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>

Não tenho certeza de como decorar isso. O método CFC retorna uma string, que eu uso como sinalizador. Isso deve ser alterado? Obrigado rapazes

Foi útil?

Solução

Aqui está o que eu acho que está acontecendo:

1: Um usuário é devolvido ("bob")

2: CF tenta avaliar o usuário [1]. Firstname como um booleano, mas Bob não é um booleano

3: O retorno é definido como falso, mas o erro impede a função de continuar processando (isso é um palpite)

4: O tipo de valor esperado não é retornado ao Flex, então Flex erros

Primeiro, eu testaria a etapa 3 alterando o bloco de captura para

<cfcatch><cfreturn "false"></cfcatch>

Em seguida, em vez de ativar o usuário [1] .FirstName, eu ligaria o user.recordCount.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top