12
« en: 25 de Abril 2017, 23:08 »
cliente.php
<?php
require_once("/lib/nusoap.php");
$namespace = "http://localhost/DAW_M07_ACT_05_Javier_Martin";
$serverScript = 'servidor.php';
$metodoALlamar = $_POST['funcion'];
$client = new nusoap_client("$namespace/$serverScript?wsdl", 'wsdl');
if(strcmp($metodoALlamar, 'creaContacto')) {
$result = $client->call(
"$metodoALlamar",
array('nombre' => $_POST['nombre'],
'direccion' => $_POST['direccion'],
'telefono' => $_POST['telefono'],
'email' => $_POST['email']),
"uri:$namespace/$serverScript",
"uri:$namespace/$serverScript/$metodoALlamar"
);
} else if($metodoALlamar == 'buscarContacto') {
$result = $client->call(
"$metodoALlamar",
array('nombre' => $_POST['nombre']),
"uri:$namespace/$serverScript",
"uri:$namespace/$serverScript/$metodoALlamar"
);
} else if(strcmp($metodoALlamar, 'mostrarTodosContactos')) {
$result = $client->call(
"$metodoALlamar",
array(),
"uri:$namespace/$serverScript",
"uri:$namespace/$serverScript/$metodoALlamar"
);
}
echo $result."<br><br><a href='formularios.php'>Volver a formularios</a>";
?>
servidor.php
<?php
require_once("datos.php");
require_once("lib/nusoap.php");
$namespace = "http://localhost/DAW_M07_ACT_05_Javier_Martin/servidor.php";
$server = new soap_server();
$server->configureWSDL("WSDLTST");
$server->soap_defencoding = 'UTF-8';
$server->wsdl->schemaTargetNamespace = $namespace;
function creaContacto($nombre, $direccion, $telefono, $email){
require_once("datos.php");
$conn = mysqli_connect($host, $user, $pass, $db_name)or die("Error de conexión con la base de datos");
$sql = "INSERT INTO contacto (nombre, direccion, telefono, email) VALUES ('".$nombre."', '".$direccion."', '".$telefono."', '".$email."')";
if (mysqli_query($conn, $sql)) {
$msg = "Se introdujo un nuevo registro en la BD; ".$nombre;
} else {
$msg = "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
return new soapval('return', 'xsd:string', $msg);
}
function buscarContacto($nombre) {
require_once("datos.php");
$conn = mysqli_connect($host, $user, $pass, $db_name);
$sql = "SELECT * FROM contacto where nombre='".$nombre."'";
$resultado = mysqli_query($conn, $sql);
$listado = "<table><tr><td>identificador</td><td>Nombre</td><td>Dirección</td><td>Teléfono</td><td>email</td></tr>";
while ($fila = mysqli_fetch_array($resultado)){
$listado = $listado."<tr><td>".$fila['identificador']."</td><td>".$fila['nombre']
."</td><td>".$fila['direccion']."</td><td>".$fila['telefono']
."</td><td>".$fila['email']."</td></tr>";
}
$listado = $listado."</table>";
mysqli_close($conn);
return new soapval('return', 'xsd:string', $listado);
}
function mostrarTodosContactos() {
require_once("datos.php");
$conn = mysqli_connect($host, $user, $pass, $db_name);
$sql = "SELECT * FROM contacto";
$resultado = mysqli_query($conn, $sql);
$listado = "<table><tr><td>identificador</td><td>Nombre</td><td>Dirección</td><td>Teléfono</td><td>email</td></tr>";
while ($fila = mysqli_fetch_array($resultado)){
$listado = $listado."<tr><td>".$fila['identificador']."</td><td>".$fila['nombre']
."</td><td>".$fila['direccion']."</td><td>".$fila['telefono']
."</td><td>".$fila['email']."</td></tr>";
}
$listado = $listado."</table>";
mysqli_close($conn);
return $listado;
}
$server->register
('creaContacto',
array('nombre'=>'xsd:string','direccion'=>'xsd:string',
'telefono'=>'xsd:string','email'=>'xsd:string'),
array('return'=> 'xsd:string'),
$namespace,
false,
'rpc',
'encoded',
'funcion que crea contacto'
);
$server->register
('mostrarTodosContactos',
array(),
array('return' => 'xsd:string'),
$namespace,
false,
'rpc',
'encoded',
'funcion que crea muestra los contactos'
);
$server->register
('buscarContacto',
array('nombre' => 'xsd:string'),
array('return' => 'xsd:string'),
$namespace,
false,
'rpc',
'encoded',
'funcion que crea muestra los contactos'
);
$server->service(isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '');
?>