2012-08-15 25 views
0

我正在開發一個使用Flash Builder和Flex部署到iOS和Android的移動應用程序。由於所有工作都在Flash Builder模擬器上,因此我希望開始在物理設備上進行測試。使用Flex的Android上的Web服務網絡問題

當我的應用程序加載並顯示第一個視圖時,運行下面的代碼。

creationComplete="initApp(event) 

protected function initApp(event:FlexEvent):void 
{    
    pricingAppWebService1.updateApp("RAMISAppUpdate");       
} 

我的問題是,當我嘗試從服務器加載XML數據轉換爲使用Web Service(如下圖所示)的應用程序,它會導致故障。這很奇怪,因爲它在Flash Builder模擬器上工作。

<fx:Declarations> 
    <s:WebService id="pricingAppWebService" 
     wsdl="http://dev.ramislive.com/webservice/pricing.asmx?WSDL" 
     result="dataSent_resultHandler(event)" 
     fault="dataSent_faultHandler(event)" />  
</fx:Declarations> 

當應用程序試圖得到它擊中,此時設備顯示一個OK的pricingAppWebService_faultHandler XML數據/取消與在輸入文本顯示在我的機器的本地IP彈出框。

protected function pricingAppWebService_faultHandler(event:FaultEvent):void 
{ 
    trace(event.fault); 
    navigator.pushView(MainMenu);   
} 

該跟蹤在Flash Builder控制檯中提供以下信息。

[ RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" 
    faultDetail="Unable to load WSDL. 
    If currently online, please verify the URI and/or format of the WSDL  
    (http://dev.ramislive.com/webservice/pricing.asmx?WSDL)" ] 

當然,我認爲在設備上的安全設置和以下中的src/main-app.xml的內Android清單文件是否存在。

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 

作爲一個說明我已經看過 THIS QUESTION和解決我的問題可能是非常相似的。但我已經嘗試用IP地址替換域名,但沒有成功。道歉,如果這個問題太模糊,這是我第一次在網站上。我試圖提供儘可能多的細節,因爲我可能會缺少整個mxml文件。

這個問題似乎是拋出某種安全問題 - 這是我假設彈出框是。然而,這只是推測,但我的服務器在點擊確定並按下電話返回按鈕嘗試重新加載數據後發現響應。

+0

在模擬器中測試移動應用就像在路面上測試山地自行車一樣。你確定你的設備連接了互聯網嗎?您的移動運營商能否阻止該網址? [或者你是否使用wifi?] – JeffryHouser 2012-08-15 13:25:49

+0

無線網絡正常工作以及設備上的互聯網。信號也滿了。 – 2012-08-15 13:37:40

+0

您可以在移動設備的瀏覽器中加載該WSDL嗎?如果是這樣;那麼我就沒有想法...... – JeffryHouser 2012-08-15 14:18:13

回答

0

重要的是要注意,當測試使用我的內部WiFi連接作爲測試計算機的連接可用時(這是盒子中的IP),這不會發生。爲避免此問題,請使用ipa的發行版本。否則,不要擔心它不會在最終版本構建中顯示。

Project --> Export Release Build