Cita:
Iniciado por johhan16 pero si puedes tambien coloca aqui el codigo que tu usas y el codigo de prueba que ellos dan que tu dices que funciona
En realidad, dudo que el problema se relacione con el código específicamente, porque en los servidores de prueba se encuentra el mismo código que en los de producción. El problema surgió a partir del momento en que comenzamos a intentar obtener los mismos resultados, cambiando de http a https.
Por si acaso una de las funciónes que interviene en la consulta que realizo es la siguiente:
function registro_evento($empresa,$nrocel,$codevento,$pin)
{
global $ip;
$id=0;
if ($empresa=="calculo" && $nrocel!='' && $codevento!='')
{
$sql = "SELECT nro_abonado FROM ppv2_usuarios WHERE nro_cel='$nrocel' AND estado=1 LIMIT 1";
$consulta = mysql_query($sql);
if (mysql_num_rows($consulta))
{
$rs=mysql_fetch_array($consulta);
$nroabonado = $rs['nro_abonado'];
$sql = "INSERT INTO ppv2_eventos (id_usuario,nro_abonado,nro_cel,cod_evento,fecha,e stado,pin,canal,codigo) VALUES (0,$nroabonado,'$nrocel','$codevento',NOW(),0,'$pi n','SMS','')";
mysql_query($sql);
if (mysql_affected_rows()>0)
{
$id = mysql_insert_id();
$cod_error = "01";
$msg_error = "ok";
}
else
{
$cod_error = "99";
$msg_error = "error";
}
}
else
{
$cod_error = "99";
$msg_error = "error";
}
}
else
{
$cod_error = "99";
$msg_error = "error";
}
$xml = '<?xml version="1.0" encoding="ISO-8859-1" ?><PPV><id>'.$id.'</id><cod_error>'.$cod_error.'</cod_error><msg_error>'.$msg_error.'</msg_error></PPV>';
return $xml;
}
Mientras que el lugar dsd dnd llamo a la función es este:
include('connect.php');
include('SoapClient.php');
include('nusoap/lib/nusoap.php');
function get_response($ws, $params_sent)
{
$cliente = new SoapClientPrueba($ws);
$params = get_params($params_sent);
$response = $cliente->getClient()->execute($params);
return $response;
}
function get_params($params_sent)
{
$params = array('Usrid' => 'WEBNS', 'Percod' => '24');
foreach($params_sent as $key=>$param)
{
$params[$key] = $param;
}
return $params;
}
y la clase SoapClient propiamente dicha, es esta:
class SoapClientPrueba {
private $_client;
function SoapClientPrueba($ws){
//$client = new SoapClient('/*ak iría la url con https que no estoy autorizado a dar*/');
$this->_client = $client;
return $this;
}
public function getClient(){
return $this->_client;
}
public function execute($params)
{
$response = $this->getClient()->Execute($params);
return $response;
}
}
Los datos los paso desde get_response, adnd ya llegan prontos, para ser enviados a la clase Soap_Client que es la que construye el cliente.
La primer función es una de las usadas y funciona correctamente, para el caso de http.
Saludos, gracias!
Por favor si alguien tiene alguna idea, o se le ocurre alguna particularidad que pueda llegar a tener realizar una consulta a un WS por HTTPS, o si alguna vez tuvo que realizar una tarea parecida en PHP, agradezco se contacte.
Saludos!