Gerando Web Services PHP com NuSoap
Este artigo aborda a geração de Web Services em PHP utilizado a biblioteca NuSoap.
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:
<?php
require_once "lib/nusoap.php";
$soap = new soap_server;
$soap->configureWSDL('WS-WebCodeFree',
'http://localhost/ws-webcodefree/');
$soap->wsdl->schemaTargetNamespace
= 'http://soapinterop.org/xsd/';
$soap->register(
'info',
array(),
array('x' => 'xsd:string'),
'http://soapinterop.org/'
);
$soap->register(
'post_java',
array(),
array('x' => 'xsd:string'),
'http://soapinterop.org/'
);
$soap->register(
'post_php',
array(),
array('x' => 'xsd:string'),
'http://soapinterop.org/'
);
$soap->register(
'login_user',
array('login' => 'xsd:string','pass' => 'xsd:int'),
array('x' => 'xsd:string'),
'http://soapinterop.org/'
);
$soap->service(isset($HTTP_RAW_POST_DATA) ?
$HTTP_RAW_POST_DATA : '');
function info(){
return "WebCodeFree - Desenvolvimento Web.";
}
function post_java(){
return "Em Breve Acesso a Postagens Java Via Serviço";
}
function post_php(){
return "Em Breve Acesso a Postagens PHP Via Serviço";
}
function login_user($login, $senha){
return "Seja Bem Vindo Usuário ". $login . " !!!";
}
?>
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.


Lado Cliente da Aplicação:
<?php
include "lib/nusoap.php";
$client = new SoapClient('http://localhost/web-service/ws-webcodefree.php?wsdl');
$result1 = $client->call('info');
$result2 = $client->call('post_java');
$result3 = $client->call('post_php');
$result4 = $client->call('login_user', array('Paulo',12));
echo $result1."<br>";
echo $result2."<br>";
echo $result3."<br>";
echo $result4."<br>";
?>
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 biblioteca NuSoap.
Last updated
Was this helpful?