é nessas horas que entra a tal palavra proxy... bom nesse caso, acessar diretamente o WS pelo Flex devido as normas de segurança estabelecidas pela Adobe complica a vida então você implementa no back-end da sua aplicação o meio de campo, para através do seu back-end acessar o WS
ps.: cara o estrutura de retorno desse WS hauhauahuahu testei aqui no back-end em java bom se vc usar java ae, faz uma classe serviço mapeada no BlazeDS e de lá você acessa o WS via AXIS e tudo certo ;) se usar outra tecnologia de back-end, só procurar algum suporte para o seu back-end e acessar o WS através dele, te garando que vai ser mais rapido do que tentar achar um outro meio de acessar o WS diretamente pelo Flex =] 2009/5/28 Julio Carneiro <jjcarne...@gmail.com> > > Tem... a diferença é no security sandbox do Flash Player. > Como eu informei num de meus replies, a aplicação só rodaria direto do > FB, isto é, qdo o URI fosse "file:///...". > > O esquema de segurança do Flash Player trata de modo diferente URI's > do tipo "file:///...". Nestes casos ele não faz validação de > crossdomain. É o que permite testar aplicações Flex sem necessidade de > controle de crossdomain. > > Já quando vc form 'deploy' a aplicação em um servidor, isto é, quando > o acesso for via um URI tipo "http://..", o FP irá validadar qualquer > acesso que cruze domínios. > Por isso, quando vc roda a aplicação no myeclipse, o URI é algo como > http://localhost... Neste caso, ao tentar acessar um webservice em > outro domínio (o do cep) o FP busca um arquivo crossdomain.xml lá para > validar o acesso. Portanto se não tem crossdomain lá, ou se o > crossdomain existente não permite acesso, vc vai receber o erro de > 'security sandbox violation, blah blah...'. > > Se vc não tem contrôle sobre o site que está tentando acessar, > esquece. Tua aplicação só vai rodar neste ambiente de teste mesmo... > > julio > > On May 28, 1:10 am, Bruno Ricciardi <brunoriccia...@gmail.com> wrote: > > acabei de achar o pq de estar dando erro, embora nao veja logica > nisso.... > > > > qndo eu rodo o codigo no flex builder 3, funciona > > > > se eu ridar no myeclipse 7.1 com o plugin do flex completo, ele dah esse > > erro de segurança... > > > > tem alguma logica do pq disso?? > > > > 2009/5/28 Bruno Ricciardi <brunoriccia...@gmail.com> > > > > > Qndo eu coloco exatamente esse codigo pra rodar me aparece uma mensagem > > > dizendo : > > > > > "Security error accessing url" > > > > > gente foi crtl+c + ctrl+v.... > > > > > como pode dar diferença no resultado??? > > > > > <?xml version="1.0"?> > > > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > > > creationComplete="onCreationComplete()"> > > > <mx:Script> > > > <![CDATA[ > > > import mx.controls.Alert; > > > import mx.rpc.events.ResultEvent; > > > import mx.rpc.events.FaultEvent; > > > import mx.rpc.soap.mxml.WebService; > > > private var ws:mx.rpc.soap.mxml.WebService; > > > private var getMyInfoRequest:String = "22710325"; > > > public function onCreationComplete():void > > > { > > > ws = new mx.rpc.soap.mxml.WebService(); > > > //ws.endpointURI = "http://myserver.com/myService.php"; > // > > > comentada pois o URI está errado e não é necessário > > > ws.loadWSDL(" > > >http://www.bronzebusiness.com.br/webservices/wscep.asmx?wsdl"); > > > ws.addEventListener(FaultEvent.FAULT, faultHandler); > > > ws.addEventListener(ResultEvent.RESULT, > > > resultHandler); > > > } > > > public function resultHandler(event:ResultEvent):void > > > { > > > var resposta:Object = event.result.Tables.tbCEP.Rows[0]; > // > > > pega a resposta do CEP corretamente. > > > Alert.show(resposta.logradouro+" "+resposta.nome+" - > > > "+resposta.bairro+"\r"+resposta.cidade+", "+resposta.UF); > > > } > > > public function faultHandler(event:FaultEvent):void > > > { > > > Alert.show(event.fault.faultString); > > > } > > > public function runRequest():void > > > { > > > ws.cep(getMyInfoRequest); > > > } > > > ]]> > > > </mx:Script> > > > <mx:Button label="RunRequest" click="runRequest()"/> > > > </mx:Application> > > > > > 2009/5/27 Júniorp <juniorparmigi...@gmail.com> > > > > >> Obrigado Julio, agora funionou perfeitamente não sei o porque o teste > > >> que fiz anteriormente de problema. > > > > >> Abraços. > > > > >> ==================================== > > >> Ednei Parmigiani Júnior > > >> Araçatuba - SP > > >> E-mail/MSN: junior_parmigi...@hotmail.com > > >> ==================================== > > > > >> On 27 maio, 12:32, Julio Carneiro <jjcarne...@gmail.com> wrote: > > >> > Ednei, > > > > >> > Eu usei o mesmo código do Bruno com um único ajuste, comentar a > linha > > >> > em que ele estava setando o endpointURI: > > >> > // ws.endpointURI = "http://myserver.com/myService.php"; > > > > >> > Este não é o endPoint daquele serviço do CEP. Fiz só um outro ajuste > > >> > no tratamento do resultado pois o código original não trava > > >> > corretamente a resposta do CEP. > > > > >> > De qualquer maneira aí vai: > > > > >> > <?xml version="1.0"?> > > >> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > > >> > creationComplete="onCreationComplete()"> > > >> > <mx:Script> > > >> > <![CDATA[ > > >> > import mx.controls.Alert; > > >> > import mx.rpc.events.ResultEvent; > > >> > import mx.rpc.events.FaultEvent; > > >> > import mx.rpc.soap.mxml.WebService; > > >> > private var ws:mx.rpc.soap.mxml.WebService; > > >> > private var getMyInfoRequest:String = "22710325"; > > >> > public function onCreationComplete():void > > >> > { > > >> > ws = new mx.rpc.soap.mxml.WebService(); > > >> > //ws.endpointURI = "http://myserver.com/ > > >> > myService.php"; // comentada pois o URI está errado e não é > necessário > > >> > ws.loadWSDL("http://www.bronzebusiness.com.br/ > > >> > webservices/wscep.asmx?wsdl"); > > >> > ws.addEventListener(FaultEvent.FAULT, > faultHandler); > > >> > ws.addEventListener(ResultEvent.RESULT, > > >> > resultHandler); > > >> > } > > >> > public function resultHandler(event:ResultEvent):void > > >> > { > > >> > var resposta:Object = event.result.Tables.tbCEP.Rows > > >> > [0]; // pega a resposta do CEP corretamente. > > >> > Alert.show(resposta.logradouro+" "+resposta.nome+" > - > > >> > "+resposta.bairro+"\r"+resposta.cidade+", "+resposta.UF); > > >> > } > > >> > public function faultHandler(event:FaultEvent):void > > >> > { > > >> > Alert.show(event.fault.faultString); > > >> > } > > >> > public function runRequest():void > > >> > { > > >> > ws.cep(getMyInfoRequest); > > >> > } > > >> > ]]> > > >> > </mx:Script> > > >> > <mx:Button label="RunRequest" click="runRequest()"/> > > >> > </mx:Application> > > > > >> > On May 27, 8:17 am, Júniorp <juniorparmigi...@gmail.com> wrote: > > > > >> > > Caro Julio Carneiro, teria como vc postar aqui sua app que tu > consumiu > > >> > > o WS que consultou CEP > > >> > > com sucesso, compartilhe conosco, pois tentei com o código do > Bruno e > > >> > > não consegui. > > > > >> > > abraços > > > > >> > > ==================================== > > >> > > Ednei Parmigiani Júnior > > >> > > Araçatuba - SP > > >> > > E-mail/MSN: junior_parmigi...@hotmail.com > > >> > > ==================================== > > > > >> > > On 26 maio, 18:05, Julio Carneiro <jjcarne...@gmail.com> wrote: > > > > >> > > > Bruno, > > > > >> > > > Veja minhas respostas... nada a ver com crossdomain, a não ser > que > > >> vc > > >> > > > rode a aplicação a partir de um servidor. Rodando local a partir > do > > >> > > > Flex builder (file:///...) não tem problema de crossdomain. > > > > >> > > > EU consigo consultar CEP daqui sem problemas, usando teu código > com > > >> > > > minhas correções > > > > >> > > > [] > > >> > > > julio > > > > >> > > > On May 26, 5:46 pm, Bruno <brunoriccia...@gmail.com> wrote: > > > > >> > > > > Gente, vcs nao vao acreditar, mas o problema esta no cross > domain. > > > > >> > > > > a questao eh que estou testando com webservices que sao > publicos, > > >> ou > > >> > > > > seja, nao tem como eu disponibilizar o arquivo de crossdomain > > >> dentro > > >> > > > > do servidor do WS... > > > > >> > > > > tem alguma saida local que resolva isso?? minha aplicaçao nao > esta > > >> > > > > sobre nenhum servidor de aplicacao, somente local... > > > > >> > > > > On 26 maio, 16:01, Júniorp <juniorparmigi...@gmail.com> > wrote: > > > > >> > > > > > Caro Bruno. > > >> > > > > > Entre no link abaixo, baixe e instale a aplicações Tour de > Flex > > >> > > > > > component explorer (TourDeFlex.air), nesta aplicação > > >> > > > > > tem vários exemplos e aplicações em flex, inclusive consumo > de > > >> WS. > > > > >> > > > > > Link:http://www.adobe.com/devnet/flex/tourdeflex/ > > > > >> > > > > > Bons estudos, Abraços > > > > >> > > > > > ==================================== > > >> > > > > > Ednei Parmigiani Júnior > > >> > > > > > Araçatuba - SP > > >> > > > > > E-mail/MSN: junior_parmigi...@hotmail.com > > >> > > > > > ==================================== > > > > >> > > > > > On 26 maio, 14:48, Bruno Ricciardi < > brunoriccia...@gmail.com> > > >> wrote: > > > > >> > > > > > > Poderia ter algo haver com o tal de cross domain?? > > > > >> > > > > > > 2009/5/26 Bruno <brunoriccia...@gmail.com> > > > > >> > > > > > > > Aiinda teria esse terceiro codigo que tbm retorna o > mesmo > > >> erro: > > > > >> > > > > > > > <?xml version="1.0" encoding="utf-8"?> > > >> > > > > > > > <mx:Application xmlns:mx=" > http://www.adobe.com/2006/mxml" > > >> > > > > > > > creationComplete="xMIIData.Xacute.send()"> > > >> > > > > > > > <mx:Script> > > >> > > > > > > > <![CDATA[ > > >> > > > > > > > import mx.events.ListEvent; > > >> > > > > > > > import mx.events.ItemClickEvent; > > >> > > > > > > > import > > >> mx.collections.ArrayCollection; > > >> > > > > > > > import mx.controls.Alert; > > >> > > > > > > > import mx.rpc.events.ResultEvent; > > > > >> > > > > > > > [Bindable] > > >> > > > > > > > public var > > >> pieChartDP:ArrayCollection; > > >> > > > > > > > [Bindable] > > >> > > > > > > > public var > > >> xMIITrxData:ArrayCollection; > > >> > > > > > > > [Bindable] > > >> > > > > > > > public var radiusArr:Array = > > >> [0,.1,0]; //explode > > >> > > > > > > > Radius > > > > >> > > > > > > > // Event Handler for > 'Result' > > >> Event of > > >> > > > > > > > WebService > > >> > > > > > > > public function > > >> dataArrived(e:ResultEvent):void{ > > >> > > > > > > > xMIITrxData = > > >> > > > > > > > xMIIData.Xacute.lastResult.Rowset; > > >> > > > > > > > createPieChartDP(0); > > >> > > > > > > > } > > > > >> > > > > > > > //Creating DataProvider for > PieChart > > >> > > > > > > > public function > > >> > > > > > > > createPieChartDP(selectedRow:int):void{ > > >> > > > > > > > var obj:Object = > > >> > > > > > > > xMIITrxData.getItemAt(selectedRow); > > >> > > > > > > > pieChartDP = new > > >> ArrayCollection(); > > > > >> pieChartDP.addItem({ParamName:"Performance", > > >> > > > > > > > Value:obj.L1Performance}); > > > > >> > > > > > > > pieChartDP.addItem({ParamName:"Availability", > > >> > > > > > > > Value:obj.L1Availability}); > > > > >> pieChartDP.addItem({ParamName:"Quality", > > >> > > > > > > > Value:obj.L1Quality}); > > > > ... > > > > read more » > > > -- Att, Erko Bridee de Almeida Cabrera http://erkobridee.com/ http://gospel.erkobridee.com/ http://www.cwbfx.com/ http://www.portaljava.com/ --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---