1

外部ファイルに接続しようとしているときに、接続が確立されなかったときを正しく識別するのに問題があります。ローカルホスト (config.gateway1) をオンにすると問題なく動作しますが、サーバーをオフにするとエラーが発生するだけです。

「URL 'http://localhost/amfphp/gateway.php' を開くときにエラーが発生しました」

接続と呼び出しの両方で try catches を設定しようとしました。また、関数 onFailure を呼び出すことになっているイベント リスナーも設定しました (この時点では失敗をトレースするだけです)。電話をかけたときにエラーが発生したようで、機能しません...しかし、エラーが発生したときに何が起こるかを指示できないようです。

    var gateway1:String = config.gateway1
    var gateway2:String = config.gateway2
    var connection:NetConnection = new NetConnection ;
    connection.addEventListener(IOErrorEvent.IO_ERROR,onFailure);
    try{
        connection.connect(gateway1);
        trace("It went in to the try of the connection.connect")
        //trace(connection);
        }
    catch(error:IOError){

        trace("It didn't work",error);
    }

var responder:Responder = new Responder(onResult,onFault);//onResult and onFault can be any name
var array:Array = new Array(kioskNum,questionNum);
try 
    {connection.call("dataconnect.retrieveInfo",responder,array);
    trace("It went in to the try of the connection.call");}
catch(error:IOError){
    trace("It didn't work",error);}
//trace(gateway1);
4

2 に答える 2

4

WSDL の読み込み中のエラーは、FaultEvent.FAULT を使用してキャプチャできます。

...
webService.addEventListener(FaultEvent.FAULT, onWsdlLoadError);
webService.loadWsdl(<wsdl>);
...
protected function onWsdlLoadError(event:FaultEvent):void {
    trace("wsdl load error: " + event.fault);
}

お役に立てれば。

于 2012-11-28T09:27:09.137 に答える
3

NetStatusEvent.NET_STATUSのイベント リスナーを追加し、情報を確認する必要があります。

    connection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

    function netStatusHandler(event:NetStatusEvent):void {
        switch (event.info.code) {
            case "NetConnection.Connect.Failed":
                //Do something on Failed
                break;
            case "NetConnection.Connect.Closed":
                //Do something on Closed
                break;
            case "NetConnection.Call.Failed":
                //Do something on Call.Failed
                break;
        }
    }
于 2012-04-05T20:44:26.713 に答える