Buenas tardes, me atreví a recurrir a ustedes para solicitarles un consejo sobre como consumir un webservice usando PHP pasando a través de SSL
La situación es esta:
Tengo un foro de discusión que desarrollé con
Vanilla Forums, e ingresé un Single Sign On para loggeo de usuarios de mi empresa; la situación es que el archivo que hace la autentificación luce de esta manera:
Código:
<?php
require('functions.jsconnect.php');
require_once('webservice.php');
// 1. Get your client ID and secret here. These must match those in your jsConnect settings.
$clientID = "xxx";
$secret = "xxx";
// 2. Grab the current user from your session management system or database here.
$signedIn = true; // this is just a placeholder
// YOUR CODE HERE.
// 3. Fill in the user information in a way that Vanilla can understand.
$user = array();
if ($signedIn) {
// CHANGE THESE FOUR LINES.
$user['uniqueid'] = '123';
$user['name'] = 'John PHP';
$user['email'] = '[email protected]';
$user['photourl'] = '';
AQUÍ SE SUPONE QUE QUIERO PONER EL LLAMADO DEL WEBSERVICE PORQUE AQUÍ ES EN DONDE EL PLUG IN TOMA EN CUENTA LA INFORMACIÓN Y HACE EL LOG IN
}
// 4. Generate the jsConnect string.
// This should be true unless you are testing.
// You can also use a hash name like md5, sha1 etc which must be the name as the connection settings in Vanilla.
$secure = 'sha1';
WriteJsConnect($user, $_GET, $clientID, $secret, $secure); // for full page forum
JsSSOString($user, $clientID, $secret); // add this line if using an embedded forum (remove if not embedded)
Después yo intenté consumir un webservice con PHP (
Debido a que Vanilla Forums está sobre PHP) para hacer una consulta y que verifique el usuario que está loggeado en la página principal de la empresa (no en el foro, en la página principal que redirige al foro) y que traiga la información del usuario: Nómina, Nombre, Correo
Dicho código luce así:
Código:
<?php
require_once("lib/nusoap.php");
$cliente = new nusoap_client("https://oet.itesm.mx/portalOETWS/PortalOETWebService?wsdl");
// This is in the PHP file and sends a Javascript alert to the client
$message = "wrong answer";
echo "<script type='text/javascript'>alert('$message');</script>";
$usuario = "xxx";
$cveapp = "xxx";
$parametros = array ('pVusuarioenc'=>$usuario,'cveapp'=>$cveapp);
$cliente-> use_curl = TRUE;
$respuesta = $cliente->call("validausuario",$parametros);
echo $respuesta['pvatributo3Out']; <-- Nómina
echo $respuesta['pvatributo4Out']; <-- Nombre
echo $respuesta['pvatributo1Out']; <-- Apellido
echo $respuesta['pvatributo6Out']; <-- Correo
?>
Mi problema es este: Cuando yo intento ejecutar el llamado al webservice en localhost SÍ me trae mi información aunado a la alerta que pueden ver ahí, pero cuando intento ejecutar el mismo archivo webservice.php dentro de mi servidor, SÓLO me ejecuta la alerta y el llamado al webservice no.
Investigando un poco encontré que mi webservice (https://oet.itesm.mx/portalOETWS/PortalOETWebService?wsdl) tiene SSL y eso interfiere con single sign on
Alguien sabe cómo consumir un webservice a través de un SSL?