Como criar um Webservice em PHP

Hoje, vou ensinar como criar um Webservice em PHP passo a passo. Eu decidi escrever este artigo rápido para iniciantes, principalmente se você não tem muita experiência com PHP e quer aprender um pouco mais sobre esta linguagem.

Se você quer aprender mais sobre PHP do zero ao profissional, criar sistemas complexos usando camadas de serviço, design patterns e aprender conceitos avançados como conceitos de arquitetura de software, eu indico um curso que pode te ajudar a ir do zero ao profissional. Caso queira saber mais, clique aqui.

O que é SOAP?

182px-SOAP.svg

SOAP (Simple Object Access Protocol ou em português Protocolo Simples de Acesso a Objetos) é um protocolo baseado em XML e de fácil leitura fácil por humanos.

Este protocolo consiste em três partes: um cabeçalho, que define o que está na mensagem e como processá-la, um conjunto de regras codificadas para expressar instâncias do tipo de dados, e uma convenção para representar as chamadas de procedimentos e respostas.

Este protocolo baseado em XML consiste de três partes: um envelope, que define o que está na mensagem e como processá-la, um conjunto de regras codificadas para expressar instâncias do tipos de dados definidos na aplicação e uma convenção para representar chamadas de procedimentos e respostas.

É também o protocolo usado para acessar web services. É um protocolo simples baseado em XML, que é usado para leitura de aplicações dentro do protocolo HTTP.

Começando a programar um Webservice com PHP

Agora, vou criar um pequeno Webservice usando PHP. Agora, que já entendemos o básico, vamos começar a codificação. Siga os passos abaixo:

  • Baixe a biblioteca Nusoap, que será utilizada em nosso exemplo, para isso acesse:
    http://sourceforge.net/projects/nusoap/.
  • Você precisará ter um ambiente PHP instalado. Caso você não tenha, eu aconselho o WAMP, que é um ambiente fácil de instalar.
  • Crie um diretório para organizar seu projeto, por exemplo, CursoPHPWebservice
  • Cole a pasta lib no Nusoap dentro do diretório da sua aplicação
  • Crie dois arquivos “servidor.php” e “cliente.php” dentro da pasta CursoPHPWebservice

Dentro do Módulo “servidor.php”

Agora, vamos criar o módulo responsável por interpretar e responder os clientes do seu webservice.

function get_message($your_name)
{
if(!$your_name){
return new soap_fault('Client','','Put Your Name!');
}
$result = "Seja bem vindo ".$your_name .". Você criou seu primeiro webservice usando SOAP";
return $result;
}
// cria listener HTTP 
$server->service($HTTP_RAW_POST_DATA);
exit();
?>php

Com o módulo já codificado, agora temos as condições necessárias para ver o nosso webservice funcionando. Para isso, visite o endereço http://localhost/CursoPHPWebservice/server.php?wsdl.

Mas temos apenas o serviço, agora vou te mostrar como consumir o serviço.

Dentro do módulo “cliente.php”

Para consumir o webservices que nós acabamos de criar, precisamos de um cliente que irá consumir o serviço.

//Aqui criamos um objeto para servir de referência ao nosso serviço
$client = new soapclient('http://localhost/WebServiceSOAP/server.php');
//Agora, usamos a instância e fazemos uma chamada ao método que criamos, passando o parâmetro correto
$response = $client->call('get_message',$param);
//Processa a requisição
if($client->fault)
{
echo "FAULT:

Code: (".$client->faultcode."

";
echo "String: ".$client->faultstring;
}
else
{
echo $response;
}
?>

 

Salve o código, e depois acesse http://localhost/CursoPHPWebservice/cliente.php

Feito isso, você receberá a mensagem no final, mostrando que seu serviço foi consumido. Espero que você tenha gostado deste artigo simples sobre consumo de Webservice.

Como criar um Webservice em PHP
5 (100%) 3 votes

Deixe um comentário