Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 为什么在有';没有连接到服务器吗?_Apache Flex - Fatal编程技术网

Apache flex 为什么在有';没有连接到服务器吗?

Apache flex 为什么在有';没有连接到服务器吗?,apache-flex,Apache Flex,我在HTTPService周围有一个包装器,它处理结果、故障和调用事件,这些事件可能由send()方法触发。我已经验证了在成功请求、HTTP错误(例如404)和调用时调用了正确的事件处理程序 我正在测试本地主机上运行的Jetty。当它关闭时,我。E我的浏览器会给我“无法建立连接”,只会触发INVOKE事件,并且不会引发任何错误。这意味着调用正常完成,但从未发生任何事情,从而导致非常令人沮丧的用户体验 这里出了什么问题,这是一个bug还是我做错了什么?如何检测何时无法建立连接 我试着在调试器中单步

我在
HTTPService
周围有一个包装器,它处理
结果
故障
调用
事件,这些事件可能由
send()
方法触发。我已经验证了在成功请求、HTTP错误(例如404)和调用时调用了正确的事件处理程序

我正在测试本地主机上运行的Jetty。当它关闭时,我。E我的浏览器会给我“无法建立连接”,只会触发
INVOKE
事件,并且不会引发任何错误。这意味着调用正常完成,但从未发生任何事情,从而导致非常令人沮丧的用户体验

这里出了什么问题,这是一个bug还是我做错了什么?如何检测何时无法建立连接


我试着在调试器中单步执行框架的源代码,但这是另一个蠕虫,也是很多挫折的根源。显然,我似乎找不到正确的SDK版本(在SDK附带的源代码不起作用之后,我尝试了3.0到3.5版本),因为调试器跳转到了错误的行。我使用版本3.5时感觉最深,但随后它又失去了同步,在
AsyncInvoker.invoke()中的某个地方。我正在运行Flex Builder Linux,alpha 5。

这对我来说适用于Flex 3.5:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

  <mx:Script>
    import mx.controls.Alert;
  </mx:Script>

  <mx:applicationComplete>
    srv.send();
  </mx:applicationComplete>

  <mx:HTTPService id="srv" url="http://localhost:8080/foo.xml">
    <mx:fault>
      Alert.show("can't connect");
    </mx:fault>
  </mx:HTTPService>

</mx:Application>

导入mx.controls.Alert;
srv.send();
警报。显示(“无法连接”);

此警报显示我的本地服务器何时关闭。

刚刚遇到此警报,可能会有所帮助

<mx:Script>
    <![CDATA[

        import mx.rpc.events.ResultEvent;

        private function faultHandler(event:mx.rpc.events.FaultEvent):void
        {
            var faultInfo:String="fault description: "+event.fault.description+"\n\n";
            faultInfo+="fault faultstring: "+event.fault.faultstring+"\n\n";
            mx.controls.Alert.show(faultInfo,"Fault Information");
            var eventInfo:String="event target: "+event.target+"\n\n";
            eventInfo+="event type: "+event.type+"\n\n";
            mx.controls.Alert.show(eventInfo,"Event Information");  
        }
    ]]>
</mx:Script>
<mx:HTTPService
      fault="faultHandler(event)"/>

我只是自己使用了这段代码,发现要使用它,您需要做两个更改,我认为这是Flex2代码。无论如何,这里是Flex3代码

        <mx:Script>
        <![CDATA[

            import mx.rpc.events.ResultEvent;

            private function faultHandler(event:mx.rpc.events.FaultEvent):void {

                var faultInfo:String="fault details: "+event.fault.faultDetail+"\n\n";
                faultInfo+="fault faultString: "+event.fault.faultString+"\n\n";
                mx.controls.Alert.show(faultInfo,"Fault Information");

                var eventInfo:String="event target: "+event.target+"\n\n";
                eventInfo+="event type: "+event.type+"\n\n";
                mx.controls.Alert.show(eventInfo,"Event Information");  
            }           
        ]]>
    </mx:Script>


是的,我的手机按我发送的方式工作,一点问题也没有。不幸的是,我无法帮助你学习Linux等。aktell

很有趣。我不使用MXML组件,而是使用AS类(即
mx.rpc.http.HTTPService
而不是
mx.rpc.http.MXML.HTTPService
)。我将介绍一下您的代码,看看它是如何工作的。您可以通过在HTTPService实例上注册错误事件处理程序来完成此操作。谢谢。这是詹姆斯代码的一个稍微冗长的版本。对你有用吗?您和James对我的代码的主要区别在于,我使用的是MXML组件的基类。我来试一试。