
Vimos que es aconsejable definir una clase que implemente los métodos que queramos publicar en el servicio.
class Operaciones{
public function resta($a, $b) {
return $a - $b;
}
public function suma($a, $b){
return $a + $b;
}
public function saludo($texto){
return "Hola $texto";
}
}
Y que al hacerlo de esta forma, en lugar de añadir una a una las funciones, podemos añadir la clase completa al servidor utilizando el método setClass
de SoapServer
. Lo ideal es que la clase con las funciones la implementemos en un archivo aparte y la llamemos con "require"
.
require '../src/Operaciones.php'; $uri='http://localhost/unidad6/servidorSoap'; $parametros=['uri'=>$uri]; try { $server = new SoapServer(NULL, $parametros); $server->setClass('Operaciones'); $server->handle(); } catch (SoapFault $f) { die("error en server: " . $f->getMessage()); }