Foros del Web » Programando para Internet » PHP »

Autenticación en WebService con nuSoap

Estas en el tema de Autenticación en WebService con nuSoap en el foro de PHP en Foros del Web. Hola, estoy intentando conectarme a un WebService utilizando nuSoap. Creo el objeto sin problema alguno, pero al momento de querer utilizar una función del webService ...
  #1 (permalink)  
Antiguo 04/06/2011, 19:54
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 14 años, 7 meses
Puntos: 2
Exclamación Autenticación en WebService con nuSoap

Hola, estoy intentando conectarme a un WebService utilizando nuSoap. Creo el objeto sin problema alguno, pero al momento de querer utilizar una función del webService obtengo:

wsdl error: Getting https://direccion_servidor?wsdl - HTTP ERROR: cURL ERROR: 7: couldn't connect to host

El servidor requiere autenticación, utilizo la función setCredentials de nuSoap para esto. Leyendo documentación del proveedor (servidor WS) dice que el password lo requieres wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0". Leyendo la documentación: http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0.pdf que es al cual hace referencia, puedo descartar que el tipo de autenticación utilizada sea Digest. (aunque de cualquier forma ya lo había intentado)

Aqui les dejo el código:

Código PHP:
$usuario '345';
$password 'ppxxx';
$xmlBase file_get_contents('Base.xml');
$wsdl 'https://direccion_servidor?wsdl';
$namespace 'http://otra_direccion';  //con o sin esto es el mismo error

$client = new nusoap_client($wsdl'wsdl');

$err $client->getError();
if (
$err) {
    echo 
'<h2>Error</h2><pre>' $err '</pre>';
}

$client->setCredentials($usuario,$password);
/*$client->setCredentials($usuario,$password,"digest",
                                                 array(
                                                        "realm"  => "digestedaccess",
                                                        "nonce"  => "Ab32Hh49iueg78bdg563jsndjk",
                                                        "nc"        => 0,
                                                         "qop"     => "auth"   
                                                  ));

*/ // El intento con digest, comentado

$result $client->call('funcionLlamada', array('xmlB' => $xmlBase,'titulo' => 'Prueba 1','Conector' => 'FGTTGDEA','Comentario' => 'SRSystem','FileType' => '78978','returnT' => '0'),$namespace);
//Esta es la linea que falla


// Check for a fault: Pasa bien este punto
if ($client->fault) {
    echo 
'<h2>Fault</h2><pre>';
    
print_r($result);
    echo 
'</pre>';
}
else
{
    echo 
'No hubo faults';
    
$err $client->getError();
    if (
$err) {
        
// Display the error
        
echo '<h2>Error</h2><pre>' $err '</pre>';
    } 

Agradecería su apoyo, muchas gracias.
  #2 (permalink)  
Antiguo 04/06/2011, 20:11
 
Fecha de Ingreso: noviembre-2009
Mensajes: 40
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Autenticación en WebService con nuSoap

Ok parece que ya quedó, almenos ya me puedo conectar, ahora ya pasé al siguiente error.
La solución, lo que mas coraje puede darle a un programador que lleva 7hrs atorado en el mismo error:

El servidor estaba mal. Asi es, por alguna razón, el servidor de pruebas para el WS no está recibiendo bien las autenticaciones o cambiaron el usuario o contraseña, migré los datos al servidor productivo con datos productivos y todo bien a la primera.

Asi que ahi hay un poco de código funcional, espero les sea útil

Saludos

Etiquetas: autenticación, conexion, contraseña, electronica, facturacion, nusoap, webservice, autenticacion
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 13:37.