0

Gerando Web Services PHP com NuSoap

php_mini_logoGerando Web Services PHP com NuSoap

Este artigo aborda a geração de Web Services em PHP utilizado a biblioteca NuSoap. Esta biblioteca é uma alternativa ao módulo SOAP Extension, nativo do PHP e oferecer suporte à criação automática do WSDL.

Framework NuSoap disponível em: http://sourceforge.net/projects/nusoap/

Segue um exemplo de utilização do Framework.

Lado Servidor da Aplicação

  • Na linha 2 realizamos a importação da biblioteca do NuSoap;
  • Na linha 4 instanciamos uma objeto do tipo soap_server;
  • Na linha 6 configuramos a instância do documento WSDL de nossa aplicação servidora;
  • Na linha 8 definimos o Schema do documento WSDL;
  • Entre as linhas 10 a 36 registramos os métodos de nosso web service;
  • Na linha 38 definimo o uso do request para invocar o serviço;
  • Entre as linhas 40 a 54 implementamos os métodos de nosso web service.

Após a criação do objeto soap_server, geração do wsdl e registro e implementação dos métodos conseguimos gerar  web service.

serviço wsdl

Lado Cliente da Aplicação

  • Na linha 2 realizamos a importação da biblioteca do NuSoap;
  • Na linha 4 criamos um objeto Soap Client baseado no wsdl do Servidor;
  • Por fim realizamos a chamadas aos métodos e exibimos o possíveis resultados.

E com isso realizamos a publicação e consumo de um web service em PHP baseado na biblioteda NuSoap.

0

Enviando uma Requisição SOAP a um Serviço

managed-services-iconEnviando uma Requisição SOAP a um Serviço

Uma forma mais rústica de consumir um Web Service é enviar de sua aplicação uma mensagem no formato SOAP para um ou mais métodos daquele serviço, a pouco tempo tive de tratar um caso assim, e por isso segue uma postagem referente a esta forma de requisição. Para simplificar a implementação monto um exemplo baseado na postagem : Gerando WebServices com JAX-WS.

Para realizar a requisição a um método do Web Service utilizo a Classe UrlConnection para fazer a conexão, chamar o método e setar as propriedades de requisição.

O método a ser testado é o retornarString para isso enviaremos a seguinte mensagem SOAP.

Não indico consumir um serviço desta forma, a melhor forma sempre será gerar os stubs do lado cliente, porém podemos também consumir um serviço desta maneira,  realizo a implementação de forma simples passando a requisição dentro de uma String mas também podemos montar essa entrada dentro do próprio código com XStream nada nos impede de criar e implementar códigos de modo genérico para que atendam nossas necessidades.

Resposta do Serviço: