Miguel,

antes de mais, não é uma questão intrínseca do Flex, mas sim uma característica do Flash Player, relacionada com seguranca. O objectivo é não permitir que possas carregar conteúdo de outros domínios senão o teu, excepto se te for dada autorizacão para tal (através de um crossdomain.xml). As razões não são "más", mas não deixam de ser questionáveis dada a "simplicidade" do workaround.

Basicamente, podes criar um proxy em PHP. A tua aplicacão em Flash passa a fazer o pedido ao teu PHP, o teu PHP pega no pedido e interpreta-o para saber o que é que tem que (e onde) ir buscar, faz uma chamada ao outro servidor (vê o cURL), e devolve o que tu queres. Isto resolve-se com menos de 10 linhas de código, e certamente haverão montes de exemplos espalhados pela Web. Assim muito rapidamente:

http://xmlrpcflash.mattism.com/proxy_info.php
http://www.webresourcesdepot.com/cross-domain-javascript-with-simple-php-proxy/

De notar que quando testas a tua aplicacão pelo Flash Builder, ele normalmente arranca o SWF localmente que tem permissões para carregar dados de domínios remotos. Assim que o enfias num domínio, é que o FP comeca a pedir o crossdomain.xml .


linkedIn <http://pt.linkedin.com/in/jsaleiro> João Saleiro
Chief Technology Officer
Tel:    00351 916 077 097
Email:  [email protected] <mailto:[email protected]>
Skype:  joao.saleiro <callto://pedro.arelo>

Webfuel Solutions <http://www.webfuel.pt> www.webfuel.pt <http://www.webfuel.pt>
Lisbon, Portugal


On 18-01-2011 11:21, Miguel Vaz wrote:


Então a existência de um crossdomain é assim tão comum em servidores? Pergunto porque aceder a outros serviços públicos não costuma dar esta chatice, correcto? rss de montes de locais externos funcionam sem problemas com o flex.

Aliás, não é um pouco ridiculo depender de configurações especificas para flex/flash no acesso a webservices? Sempre que quero aceder a algum serviço tenho de pedir delicadamente ao gestor do servidor para colocar um crossdomain na root?

Ah, um pormenor sobre o meu problema: Não estou a aceder a um ficheiro, mas a uma API de um webservice. Não me parece viável andar a pedir com panos quentes que coloquem um crossdomain no servidor só para me agradar.

Isto ainda n me convence. Grande falha do flex?

MV






2011/1/18 João Fernandes <[email protected] <mailto:[email protected]>>

    É que para acederes a dados remotos via flex terias sempre de ter
    sempre o crossdomain, o mais provavel é ter sido removido ou alterado
    para não permitir chamadas remotas.

    --
    Recebeu esta mensagem porque está inscrito no grupo "Mailing List
    da Comunidade Portuguesa de Rich Internet Applications -
    www.riapt.org <http://www.riapt.org>" dos Grupos do Google.

    Para publicar uma mensagem neste grupo, envie um e-mail para
    [email protected] <mailto:[email protected]>.
    Para anular a inscrição neste grupo, envie um e-mail para
    [email protected]
    <mailto:riapt%[email protected]>.
    Para ver mais opções, visite este grupo em
    http://groups.google.com/group/riapt?hl=pt-PT.


--
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google. Para publicar uma mensagem neste grupo, envie um e-mail para [email protected]. Para anular a inscrição neste grupo, envie um e-mail para [email protected]. Para ver mais opções, visite este grupo em http://groups.google.com/group/riapt?hl=pt-PT.

--
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Para anular a inscrição neste grupo, envie um e-mail para 
[email protected].
Para ver mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT.

<<inline: LinkedIn.gif>>

<<inline: Webfuel.gif>>

Responder a