Desenvolvimento - Delphi
Delphi: Enviando mensagens instantâneas via consumo de Web Service
Neste artigo iremos acessar via Delphi um web service de envio de mensagens instantâneas. Este web service envia mensagens para ICQ, MSN Messenger, AIM (AOL Instant Messenger) e Yahoo Messenger.
por Gustavo S. SemaanNeste artigo iremos acessar via Delphi um web service de envio de mensagens instantâneas. Este web service envia mensagens para ICQ, MSN Messenger, AIM (AOL Instant Messenger) e Yahoo Messenger.
Desenvolvendo o exemplo
O web service que utilizaremos está disponível no site http://www.bindingpoint.com. Crie um novo projeto e salvaremos os arquivos. Adicionaremos 2 Tedits, 1 Tmemo, 1 TRadioGroup e um Tbutton com propriedades name edtNome, edtPara, mmTexto, rdgrpOpcao e btnEnviar respectivamente. Limparemos as propriedades Text dos edtNome, edtPara e mmTexto e no rdgrpOpcao na propriedade Items digitaremos "ICQ, MSN, AIM, Yahoo" (Cada palavra em uma linha necessariamente nesta ordem).
Importaremos o WSDL deste site. Assim conheceremos os serviços disponíveis pelo web service. Para isto iremos em File / New / Other. Na Guia WebServices selecionaremos a opção WSDL Importer.
Uma tela Wizard será aberta solicitando o endereço do WSDL. Digitaremos http://www.bindingpoint.com/ws/imalert/imalert.asmx?wsdl e clicaremos em Next.
Será exibido o código gerado. Clicaremos em Finish e salvaremos o arquivo gerado com o nome de imalert.pas.
Em seu formulário adicione a unit imalert, utilizando o menu File / Use Unit.
No evento OnClick do btnEnviar colocaremos o seguinte código:
procedure TForm1.btnEnviarClick(Sender: TObject); var vResult: SendResult; begin case rdgrpOpcao.ItemIndex of 0: GetInstantMessageAlertSoap.SendICQ("", edtNome.Text, edtPara.Text, mmTexto.Text); 1: GetInstantMessageAlertSoap.SendMSN("", edtNome.Text, edtPara.Text, mmTexto.Text); 2: GetInstantMessageAlertSoap.SendAIM("", edtNome.Text, edtPara.Text, mmTexto.Text); 3: GetInstantMessageAlertSoap.SendYahoo("", edtNome.Text, edtPara.Text, mmTexto.Text); end; case vResult of FAILED: ShowMessage("Falha no envio da mensagem."); SENT: ShowMessage("Mensagem enviada com sucesso."); UNREACHABLE: ShowMessage("Destino não encontrado."); UNAUTHORIZED: ShowMessage("Mensagem recusada. Sem autorização."); end; end;
Conclusão
Provavelmente você está se questionando sobre a utilidade de um software que envia, mas não recebe mensagens. Este software seria muito útil, por exemplo, em um sistema de vendas, onde automaticamente o cliente receberia uma mensagem avisando que o produto que estava esperando chegou.
Ferramentas Utilizadas:
- Borland Delphi 6
- Web Service disponível em: http://www.bindingpoint.com