0

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.

Vote

Equipe Curso PHP do Zero ao Profissional

Nós somos uma equipe focada em desenvolvimento de software em PHP.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *