Poco tempo fa ho avuto l’esigenza di implementare un piccolo webservice utilizzando php, effettuando qualche ricerca ho trovato la libreria nusoap, compatibile con php versione 4 e 5 che soddisfava pienamente a tutte le mie esigenze ed è molto semplice ed intuitiva.
Facciamo un piccolo esempio, chiamate questo file MyWebService.php
$namespace = "http://www.miosito.com/";
require("lib/nusoap.php");
$server = new soap_server();
$server->debug_flag = false;
$server->configureWSDL("MyWebService", $namespace);
$server->wsdl->schemaTargetNamespace = $namespace;
// nome del metodo da esporre
$server->register('myMethod',
// parametri
array('param1' => 'xsd:string', 'param2' => 'xsd:string'),
// valore di ritorno
array('return' => 'xsd:string'),
// namespace
$namespace,
// soapaction
$namespace . '#myMethod',
// style
'rpc',
// use
'encoded',
// descrizione del metodo
'Concatena due stringhe'
);
function myMethod($param1, $param2){
return $param1.$param2;
}
$HTTP_RAW_POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA'])?
$GLOBALS['HTTP_RAW_POST_DATA'] : '';
$server->service($HTTP_RAW_POST_DATA);
exit();
Con queste poche righe di codice è stato creato un webservice, invocabile all’url
http://www.miosito.com/MyWebService.php
che espone un metodo MyMethod che accetta come parametri due stringhe e ne ritorna la concatenazione