Você está aqui: Adobe Flex ::: Classes, Controles e Componentes ::: HTTPService

Aprenda a usar a classe HTTPService para comunicação remota

Quantidade de visualizações: 13569 vezes


A classe pública HTTPService reside no pacote mx.rpc.http e é usada para fazer requisições remotas a serviços HTTP simples, tais como arquivos texto, arquivos XML ou scripts e páginas que retornam dados dinâmicos (PHP, ASP, JSP, etc).

Veja a posição desta classe na hierarquia de classes do Flex 2.0:
Object
  EventDispatcher
    AbstractInvoker
      HTTPService
Quando efetuamos uma chamada ao método send() do objeto HTTPService, ele efetua uma requisição HTTP para a URL especificada, e uma resposta HTTP é retornada. Opcionalmente, podemos passar parâmetros para a URL especificada. Quando não passamos por um serviço de proxy, apenas os métodos HTTP POST e GET são permitidos. No entanto, quando definimos o valor true para a propriedade useProxy e usamos o serviço de proxy, os métodos HTTP HEAD, OPTIONS, TRACE e DELETE também são permitidos.

O primeiro passo para usar um objeto HTTPService é definir um valor para a propriedade url. É esta propriedade que informa ao objeto onde localizar o recurso para o qual uma requisição será feita. Veja que este valor pode ser uma URL relativa ou absoluta. Veja um exemplo de URL absoluta:
<mx:HTTPService id="login" 
  url="http://www.arquivodecodigos.net/logar.php" 
  ....
  ....
</mx:HTTPService>
Veja um exemplo de URL relativa (o arquivo dados.xml localizado no mesmo diretório do arquivo SWF):
<mx:HTTPService id="categoria" 
  url="dados.xml" 
  ....
  ....
</mx:HTTPService>
Agora que sabemos como criar uma nova instância de HTTPService, é hora de aprender a fazer requisições, trabalhar os resultados e passar parâmetros.

O simples fato de se criar um objeto HTTPService não faz uma requisição automática para carregar os dados solicitados. Antes, é preciso efetuar uma chamada ao seu método send(). Geralmente este método é chamado em resposta a algum evento provocado pelo usuário ou pela aplicação em si. Suponhamos que você tenha um HTTPService com o id "login". O método send() deste objeto poderia ser chamado a partir do evento click de um botão. Assim:
<mx:Button label="Acessar!" click="login.send()"/>
É preciso ter em mente as restrições de segurança aplicadas pelo Flash Player. Caso esteja visualizando mensagens de erro, verifique se as causas são aquelas descritas na seção de dicas e truques sob o nome de "Segurança".

Depois que o método send() envia uma requisição, a aplicação Flex aguarda um resultado, ou resposta. Esta resposta vem em forma de um evento chamado result. Veja que este evento só é disparado quando a resposta completa tiver sido recebida. Veja um trecho de código no qual uma mensagem Alert é exibida depois que os dados são recebidos:
<mx:HTTPService id="categorias" url="categorias.xml" 
  result="mx.controls.Alert.show('Dados OK!')"/>
É claro que, após receber uma resposta HTTP, queremos manipular os dados recebidos e não somente exibir uma mensagem avisando que os dados foram recebidos corretamente. Bem, a propriedade lastResult contém os dados resultantes da requisição. Como neste exemplo nós estamos esperando uma resposta XML, veja no exemplo abaixo como usar estes dados para popular (palavra estranha demais, não?) um ComboBox:
<?xml version="1.0" encoding="iso-8859-1"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

  <mx:HTTPService id="cat" url="categorias.xml" 
    result="preencherComboBox()"/>

  <mx:Panel id="painel" title="Estudos" status="Active" 
     height="300" width="200" paddingTop="10" 
     paddingLeft="10" paddingRight="10" 
     paddingBottom="10">

    <mx:ComboBox id="categorias" width="150"/>
   
    <mx:Button label="Acessar HTTP!" click="cat.send()"/>

  </mx:Panel>

  <mx:Script>
    <![CDATA[
      private function preencherComboBox():void{
        categorias.dataProvider = 
          cat.lastResult.categorias.categoria;
      }
    ]]>
  </mx:Script>  

</mx:Application>
Antes de executar este exemplo, certifique-se de que o seu arquivo XML tenha uma estrutura semelhante à:
<?xml version="1.0" encoding="iso-8859-1"?>
<categorias>
  <categoria>Calçados</categoria>
  <categoria>Eletrônicos</categoria>
  <categoria>Informática</categoria>  
</categorias>


Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de Adobe Flex

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 55 usuários muito felizes estudando em nosso site.