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.