Web Services com Flex
Olá a todos. Neste post vou fala um pouco sobre umas das formas que o flex usa para comunicação com outras linguagens de programação, os web services. Irei mostrar somente como e feita a chamada pelo flex, usando o objeto WebService para realizar esta operação. Segue o codigo para análise:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
private function clickBotao():void{
//chamada da operação do web service
webService.getOperation("OperacaoWebService").send();
}
private function retornaWebService(evt:ResultEvent):void{
//O retorno do seu web service deve ser tratado aqui
trace(evt.result);
}
private function erroWebService(erro:FaultEvent):void{
Alert.show("Ocorreu um erro!");
}
]]>
</mx:Script>
<mx:Button x="430" y="66" label="Botão" click="clickBotao();"/>
<mx:WebService id="webService" wsdl="http://meudominio.com.br/MeuWebService.asmx?wsdl">
<mx:operation name="OperacaoWebService" result="retornaWebService(event)" fault="erroWebService(event)"/>
</mx:WebService>
</mx:Application>
Logo a cima temos a classe WebService com uma operação chamada de “OperacaoWebService”, este nome será substituido pelo nome do web service desenvolvido. No exemplo não existe passagem de parâmetros, e o mesmo pode existir retorno ou não.
Neste exemplo é usado um web service asp net mas poderia ser usado um em php, jsp e outros. A implementação do web service não aparece no exemplo, ficando livre para futuras implementações.
Na prática ele servirá para buscar uma lista de objetos, retonar uma string ou mesmo chamar um procedimento simples sem parâmetros.
Tanto o erro quanto o retorno são tratados no objeto operation, e neste objeto também que podemos passar parâmetros caso necessário. Na hora da chamada do web service basta colocar os dados no send. Segue o exemplo:
webService.getOperation("OperacaoWebService").send(“Nome”, “Endereco”, “CEP”);
Por hoje e só. Ate++

Comentários