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? MV2011/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>>
