使用Flex / ActionScript获取服务器结果

时间:2014-09-27 21:05:51

标签: xml actionscript-3 flex actionscript flash-builder

我正在尝试获取MyTSA(https://www.dhs.gov/mytsa-api-documentation)提供的数据用于安全线等待时间,但我遇到了麻烦。这是我的代码:

            import mx.events.FlexEvent;
            import mx.rpc.events.ResultEvent;

            [Bindable]
            private var url:String = "http://apps.tsa.dhs.gov/MyTSAWebService/GetWaitTimes.ashx?output=xml&ap=SEA";

            protected function init(event:FlexEvent):void
            {
                getWaits.send();
            }

            protected function getWaitsResult(event:ResultEvent):void
            {
                data_label.text = getWaits.lastResult.toString();               
            }

        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
        <s:HTTPService id="getWaits" url="{url}" result="getWaitsResult(event)"/>

每当我运行它时,我都会收到错误代码:[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Stream Error. URL: http://apps.tsa.dhs.gov/MyTSAWebService/GetWaitTimes.ashx?output=xml?output=XML&ap=SEA" errorID=2032]. URL: http://apps.tsa.dhs.gov/MyTSAWebService/GetWaitTimes.ashx?output=xml?output=XML&ap=SEA"]

知道如何才能让它发挥作用吗?我做错了吗?

谢谢, 雅各布

2 个答案:

答案 0 :(得分:3)

您的网址无效。但是,他们的API似乎有问题。该文档页面上的许多URL都不起作用。

答案 1 :(得分:0)

您应用中的某些内容正在根据您获得的错误将网址更改为以下内容。

http://apps.tsa.dhs.gov/MyTSAWebService/GetWaitTimes.ashx?output=xml?output=XML&ap=SEA

当网址错误或返回数据错误时,会发生<20>错误。因此,如果您检查上面的网址,output=xml?output=XML是错误/错误的网址。你可能需要纠正这个网址。