Foros del Web » Programando para Internet » PHP »

NuSoap autentificación sin $_SERVER

Estas en el tema de NuSoap autentificación sin $_SERVER en el foro de PHP en Foros del Web. Buenas amigos, Estoy trasteando el NuSOAP. Mi objetivo es realizar un "prototipo" de autentificación cliente-servidor. Se trata de un código bastante básico. El problema que ...
  #1 (permalink)  
Antiguo 10/02/2011, 10:35
 
Fecha de Ingreso: enero-2011
Ubicación: sergigp.com
Mensajes: 7
Antigüedad: 13 años, 3 meses
Puntos: 0
NuSoap autentificación sin $_SERVER

Buenas amigos,

Estoy trasteando el NuSOAP. Mi objetivo es realizar un "prototipo" de autentificación cliente-servidor. Se trata de un código bastante básico. El problema que tengo es que en mi servidor, por diferentes motivos que no vienen al caso, no puedo utilizar variables $_SERVER para realizar la autentificación en la parte del servidor.

Me preguntaba si alguien habia tocado NuSoap y habia realizado algo similar y si hay una alternativa para hacerlo sin variables $_SERVER.

Os copio el código a ver si alguien me puede echar una mano :)

server.php

Código PHP:
<?php

require_once('lib/nusoap.php');

$username "user";
$password "password";


$miURL 'http://www.moveit.es';
$server = new soap_server();
$server->configureWSDL('ws_idgl'$miURL);
$server->wsdl->schemaTargetNamespace $miURL;


$server->register('funcionPrueba'// Nombre de la funcion
        
array(), // Parametros de entrada
        
array('return' => 'xsd:string'), // Parametros de salida
        
$miURL);

function 
funcionPrueba() {
    global 
$username;
    global 
$password;

    
$respuestaDefecto "Hola Pedro ! :D";
    if (isset(
$_SERVER['PHP_AUTH_USER']) && isset($_SERVER['PHP_AUTH_PW'])) {
        if ((
$_SERVER['PHP_AUTH_USER'] == $username) && ($_SERVER['PHP_AUTH_PW'] == $password)) {
            return new 
soapval('return''xsd:string'$respuestaDefecto);
        }
    }
    return new 
soapval('return''xsd:string'"No autorizado");
}

if (!isset(
$HTTP_RAW_POST_DATA))
    
$HTTP_RAW_POST_DATA file_get_contents('php://input');

$server->service($HTTP_RAW_POST_DATA);
?>
client.php
Código PHP:
<?php

require_once('lib/nusoap.php');
// Crear un cliente apuntando al script del servidor (Creado con WSDL) -
// Las proximas 3 lineas son de configuracion, y debemos asignarlas a nuestros parametros
$serverURL 'http://www.moveit.es';
$serverScript 'server.php';
$metodoALlamar 'funcionPrueba';
$username "user";
$password "password";
$authtype "basic";

// Crear un cliente de NuSOAP para el WebService
$cliente = new nusoap_client("$serverURL/$serverScript?wsdl"'wsdl');
$cliente->setCredentials($username$password$authtype);
// Se pudo conectar?
$error $cliente->getError();
if (
$error) {
    echo 
'<pre style="color: red">' $error '</pre>';
    echo 
'<p style="color:red;' htmlspecialchars($cliente->getDebug(), ENT_QUOTES) . '</p>';
    die();
}



$result $cliente->call(
                
"$metodoALlamar"// Funcion a llamar
                
array(), // Parametros pasados a la funcion
                
"uri:$serverURL/$serverScript"// namespace
                
"uri:$serverURL/$serverScript/$metodoALlamar" // SOAPAction
);


// Verificacion que los parametros estan ok, y si lo estan. mostrar respuesta
if ($cliente->fault) {
    echo 
'<b>Error: ';
    
print_r($result);
    echo 
'</b>';
} else {
    
$error $cliente->getError();
    if (
$error) {
        echo 
'<b style="color: red">Error: ' $error '</b>';
    } else {
        echo 
'Respuesta: ' $result;
    }
}
?>
los datos de usuario y contraseña luego deberán venir por base de datos. Provisionalmente lo he hecho con variables.

Saludos y gracias :)

Etiquetas: nusoap, server
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:00.