2010-02-19 35 views
1

我有一個Flex 3客戶端連接到一個RoR web服務,用於POST請求。當webservice返回代碼201 Created時,Flex會觸發一個resultEvent,所有事情都很酷,因爲我可以像預期的那樣解析XML響應。Actionscript是否暴露Web服務faultEvent中的XML?它如何被訪問?

但是,當POST請求中發送的數據出現問題時,Web服務會返回422,因此Flex將觸發faultEvent。除了422代碼之外,web服務還提供用戶在重新提交之前要糾正的錯誤列表。我可以在查爾斯看到這些。示例如下:

<errors> 
    <error>Username and password invalid</error> 
</errors> 

我需要能夠在Actionscript中訪問此XML。對於resultEvent,這很容易使用event.result完成。但是,對於faultEvent,我看不到任何訪問返回的XML的方法。

有誰知道這是可能的嗎?或者我錯過了一些明顯的東西?

由於提前,

戴夫

回答

1

基本上Flash可以只公開通過瀏覽器提供給它的數據。瀏覽器擁有這些數據,但不會將其轉發給插件(或者至少沒有,請參閱下文)。

這是覆蓋在下面的Flex錯誤:

https://bugs.adobe.com/jira/browse/SDK-11841

這與FP10固定在Firefox 3.1。我不確定哪個Flex SDK版本包含該修正。爲了在其他瀏覽器中工作,它們都必須解決問題(它影響所有插件,而不僅僅是Flash)。

+0

謝謝薩姆,那是很棒的信息。我想我們必須更改web服務以發送錯誤XML的201響應。不理想,但它會工作。 – 2010-02-19 21:25:11