0

WebService (Lotus Notes データベース) に接続するためのコードは、「Data/Connect with WebService...」を介して Flash Builder によって作成されます。すべて正常に動作しますが、リクエストのタイムアウトを増やすという問題があります。API によると、リクエストのタイムアウトは次のように設定できます。

_serviceControl.requestTimeout = 300;

iOS (iPad) では問題なく動作しているようです。しかし、デスクトップまたは Android スマートフォンでアプリを実行する場合、リクエストのタイムアウトを 30 秒未満に設定した場合にのみ機能します。リクエストのタイムアウトを 30 以上に設定せず、アプリが応答/結果を待つのに 30 秒以上かかる場合、「_serviceControl」は次のメッセージで FaultEvent を発生させます。

body = ""  
clientId = "DirectHTTPChannel0"  
correlationId = "CDED773E-34E5-56F8-D521-4FFC393D7565"  
destination = ""  
extendedData = (null)  
faultCode = "Server.Error.Request"  
faultDetail = "Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: "http://...?OpenWebService" errorID=2032]. URL: "http://...?OpenWebService"  
faultString = "HTTP request error"  
headers = (Object)#1  
DSStatusCode = 0  
messageId = "91D11378-49D4-EDF7-CE7A-4FFCB09EBC47"  
rootCause = (flash.events::IOErrorEvent)#2  
bubbles = false  
cancelable = false  
currentTarget = (flash.net::URLLoader)#3  
bytesLoaded = 0  
bytesTotal = 0  
data = ""  
dataFormat = "text"  
errorID = 2032  
eventPhase = 2  
target = (flash.net::URLLoader)#3  
text = "Error #2032: Stream Error. URL: "http://...?OpenWebService"  
type = "ioError"  
timestamp = 0  
timeToLive = 0

なぜこれが起こるのか分かりますか?

4

2 に答える 2

2

私は同じ問題を抱えていました.requestTimeoutは機能しませんでした。

誰かが答えを探している場合、この構成は私にとってはうまくいきます:

import flash.net.URLRequestDefaults;

URLRequestDefaults.idleTimeout = 120000; //note this value represents milliseconds (120 secs)

詳細については、こちらを参照してください:とにかく Flex HTTPService がタイムアウトします

于 2013-03-14T15:52:44.830 に答える