PEAR, Webservices e DIME

Em primeiro lugar, desculpem a demora. foram longos meses sem um novo artigo. Pretendo reparar o acontecido com ótimo conteúdo para os leitores. Vamos falar neste post sobre Webservices com anexos… DIME pra ser mais específico. Junto com o assunto, introduzo o P.E.A.R. (PHP Extension and Application Repository), repositório de classes que auxiliam, e salvam a vida a maioria das vezes e que é mantido pela comunidade organizadamente.

Problema:
Estava eu, com minhas atribuições de sempre, quando me solicitam um cliente de webservice para uma determinada necessidade. ‘Ótimo’ – pensei – ‘Uso as classes SoapClient do PHP5 e tudo estará resolvido’; aí vem a bomba. Um dos requisitos do serviço é um anexo, de um tipo específico chamado de DIME (Direct Internet Message Encapsulation).

Solução:
1º – Baixar os pacotes da PEAR
- SOAP – Conjunto de classes para consumir e servir webservices
- Net_URL – Classes para tratar protocolos de rede
- Net_DIME – Específica para encapsular uma mensagem DIME
- PEAR – Base para as outras, incluindo uma classe para tratamento de erros.
2º – Criar um diretório ‘Net’ e copiar o conteúdo de Net_URL e Net_DIME para ele. Explicações depois…
3º – Codificar…

Código PHP

Bom, dado o código acima, vamos aos fatos: pra chegar neste código não demorei muito, porém levei dias para fazer funcionar o maldito webservice. ‘Porquê’ você deve estar se perguntando… porque a documentação do servidor do webservice estava errada… eu me matei alguns dias para alterar 2 coisas, as quais descobri fuçando no serviço, que fizeram finalmente meu sistema consumir o webservice. Mas isso é história pra outro post

Desabafos a parte, explicando melhor algumas coisas: O PEAR trabalha com uma organização de pacotes / Namespaces; O Namespace de Net_URL e Net_DIME é ‘Net’… para manter a organização dos pacotes, dando fácil acesso para buscas e manutenção.

Este artigo infelizmente não foi tão bem produzido, mas nos próximos posts, e espero que não seja longa a espera por novos, abordarei melhor vários assuntos correlatos.

Até lá

This entry was posted in PEAR, SOA and tagged , , , by Duodraco. Bookmark the permalink.

About Duodraco

Sou Anderson Casimiro, também conhecido como Duodraco. Trabalho com Desenvolvimento Web desde 2002; desde então tive a oportunidade de trabalhar com grandes amigos e aprender bastante. Como já se deve ter percebido meu foco de atuação é PHP, embora eu brinque com Java e C++/Qt nas horas vagas, além do bom e velho Javascript, e dos sempre amigos Mysql, Oracle, sqLite e Postgres. Sou usuário Linux / OpenSuse / KDE apesar de já ter utilizado o Janelas e o OS X. Bom, mas não falemos de passado. Sou um dos coordenadores do PHPSP, junto ao Augusto Pascutti e Rafael Dohms. Atuo como Analista, Desenvolvedor e Scrum Master na Arizona. Sou Engenheiro Certificado Zend (ZCE – Zend Certified Engineer – 2007), Certified Scrum Master e entusiasta do uso de PHP, Linux, KDE e Software Livre em geral.