2010-02-06 88 views
2

我想連接我的Flex應用程序到一個CFC我有調用方法。這是測試一個登錄控件,當我把正確的憑據,它回來的錯誤:「SOAP響應無法解碼。原始響應:」。Flex HTTPService:SOAP響應無法解碼。原始響應:

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

我不知道如何德科雷這一點。 CFC方法返回一個字符串,我用它作爲標誌。應該改變嗎? 謝謝你們

+0

注意經過一些測試後,我注意到,如果我將cfreturn更改爲「測試」,它會顯示在flex應用程序中,所以我推斷出entityLoad行出現了一些問題。奇怪的是,如果我得到用戶名和密碼組合錯誤,它顯示「測試」被返回,但是當它是正確的,我得到相同的錯誤錯誤 – Doz

+0

這與這個問題有關:http://stackoverflow.com/questions/2581799/flex-3-and-soap-response –

回答

2

以下是我認爲正在發生的事情:

1:用戶被返回( 「鮑勃」)

2:CF試圖評估用戶[1] .firstname作爲一個布爾值,但鮑勃不是布爾

3:returnvar被設置爲假,但錯誤停止從繼續進行處理的功能(這是一個猜測)

4:預期值類型不返回到Flex中,所以Flex錯誤

首先,我要測試步驟3通過改變catch塊

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

然後,代替[1] .firstname用戶切換,身份證上user.recordcount切換。

+0

謝謝我使用一系列cfcatch解決了這個問題,然後試着去看看我們回來的是什麼:) – Doz