Flex Webservice и Android - PullRequest
       29

Flex Webservice и Android

0 голосов
/ 14 апреля 2011

У меня проблема при попытке получить доступ к веб-сервису из мобильного приложения.Когда я пробую адрес веб-службы в моем браузере, он работает, когда я пытаюсь в моем приложении на эмуляторе Flash Builder, он работает.Но когда я пробую его на своем телефоне, он не работает!

У меня есть доступ к сети в моем приложении.

Я просто создаю веб-сервис в представлении в MXML.

<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark" 
        title="WebService">
    <fx:Declarations>
        <s:WebService id="webService" wsdl="http://serverweb/Service.asmx?WSDL">
    </s:WebService>
    </fx:Declarations>
</s:View>

Я получил это исключение

[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://serverweb/Service.asmx?WSDL)"]
at mx.rpc.wsdl::WSDLLoader/faultHandler()[E:\dev\hero_private_beta\frameworks\projects\rpc\src\mx\rpc\wsdl\WSDLLoader.as:103]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at HTTPOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[E:\dev\hero_private_beta\frameworks\projects\rpc\src\mx\rpc\http\HTTPService.as:993]
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[E:\dev\hero_private_beta\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:350]
at mx.rpc::Responder/fault()[E:\dev\hero_private_beta\frameworks\projects\rpc\src\mx\rpc\Responder.as:68]
at mx.rpc::AsyncRequest/fault()[E:\dev\hero_private_beta\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:113]
at DirectHTTPMessageResponder/errorHandler()[E:\dev\hero_private_beta\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:410]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()

Может ли кто-нибудь мне помочь?

Спасибо

Ответы [ 2 ]

1 голос
/ 18 апреля 2011

Я нашел и решил свою проблему.Я использую локальный веб-сервер, и телефон не переводит имя хоста в IP-адрес.Поэтому вместо http://serverweb/Service.asmx?WSDL, я ставлю http://192.168.0.5/webservice.asmx?wsdl (где 192.168.0.5 - это ip serverweb)

0 голосов
/ 14 апреля 2011

Возможно, вы забыли добавить разрешение на доступ в Интернет в манифесте.Добавьте это в ваш app.xml:

<android>
    <manifestAdditions>
    <![CDATA[
    <manifest>
        <uses-permission android:name="android.permission.INTERNET"/>
    </manifest>
    ]]>
    </manifestAdditions>
</android>
...