Foros del Web » Programando para Internet » PHP »

Web Services en PHp

Estas en el tema de Web Services en PHp en el foro de PHP en Foros del Web. Buen dia de antemano gracias por su atencion y ayuda. he buscado varia informacion sobre web services + php y me encontrado varios script, tome ...
  #1 (permalink)  
Antiguo 04/10/2009, 16:07
 
Fecha de Ingreso: marzo-2003
Mensajes: 164
Antigüedad: 21 años, 1 mes
Puntos: 0
Web Services en PHp

Buen dia de antemano gracias por su atencion y ayuda.

he buscado varia informacion sobre web services + php y me encontrado varios script, tome uno de este foro este en particular el que habla de factorial http://www.forosdelweb.com/f18/web-service-php-351219/ , y a otros que encontre pero en general me sale este error:

el script es:

<?php
//Nota : debes tener desactivado el modulo php_soap
//y ademas la variable allow_call_time_pass_reference debe estar en On
//allow_call_time_pass_reference = On
require_once('nusoap.php');
$servidor=new soap_server;
//Aqui se declaran los metodos que son publicos
$servidor->register('Factorial');
function Factorial($numero)
{
$factorial=1;
for($i=1;$i<=$numero;$i++)
{
$factorial=$factorial*$i;
}
return $factorial;
}
$servidor->service($HTTP_RAW_POST_DATA);
?>

imagen del error


me podrian colaborar para solucionar este error, o que podria estar pasando.

de nuevo gracias por la atencion y ayuda
  #2 (permalink)  
Antiguo 04/10/2009, 21:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Web Services en PHp

Lo que pasa es que adicionalmente a eso tienes que hacer un request válido al servicio web, en tu caso solo mandas llamar al archivo directamente, tienes que usar la librería SOAP Client para hacer un request valido.

Saludos.
  #3 (permalink)  
Antiguo 05/10/2009, 18:58
 
Fecha de Ingreso: marzo-2003
Mensajes: 164
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Web Services en PHp

Cita:
Iniciado por GatorV Ver Mensaje
Lo que pasa es que adicionalmente a eso tienes que hacer un request válido al servicio web, en tu caso solo mandas llamar al archivo directamente, tienes que usar la librería SOAP Client para hacer un request valido.

Saludos.
Buen dia GatorV, gracias por la antencion y ayuda, ya en otras ocasiones me has colaborado, de neuvo gracias.

realize el script del cliente y cree este:

<?php
require_once('nusoap.php');
$parametros = array('numero'=>'5');
//cambia aqui por la direccion donde esta el webservice
$cliente = new soapclient('http://localhost/ws/test1/server.php');
/************************************************** ************************
en caso de que tengas un archivo wsdl
$cliente=new soapclient('http://localhost/servicioweb/nusoap/servicioweb.php','wsdl');
creamos un proxy
$cliente_proxy=$cliente->getProxy();
$resultado=$cliente_proxy->Factorial($parametros);
************************************************** ***************************/
$resultado=$cliente->call('Factorial',$parametros);
echo "El Factorial de 5 es ".$resultado;
?>

pero me sale un error a la hora de consumir el web services y es el siguiente:


Warning: SoapClient::SoapClient(http://localhost/ws/test1/server.php) [soapclient.soapclient]: failed to open stream: Se produjo un error durante el intento de conexión ya que la parte conectada no respondió adecuadamente tras un periodo de tiempo, o bien se produjo un error en la conexión establecida ya que el host conectado no ha podido responder. in C:\AppServ\www\ws\test1\cliente.php on line 5

Warning: SoapClient::SoapClient() [soapclient.soapclient]: I/O warning : failed to load external entity "http://localhost/ws/test1/server.php" in C:\AppServ\www\ws\test1\cliente.php on line 5

Fatal error: Maximum execution time of 30 seconds exceeded in C:\AppServ\www\ws\test1\cliente.php on line 16


no se que pueda ser, los script los copie del foro y dicen que estan bien pero por lo novato no sabria en que estoy fallando.


Te agradezco en lo que me puedas colaborar.
  #4 (permalink)  
Antiguo 05/10/2009, 21:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Web Services en PHp

Dice que no se pudo conectar con el host remoto, revisa que puedas hacer un ping a localhost y que este devuelva el valor correcto.

Saludos.
  #5 (permalink)  
Antiguo 10/10/2009, 18:22
 
Fecha de Ingreso: marzo-2003
Mensajes: 164
Antigüedad: 21 años, 1 mes
Puntos: 0
Respuesta: Web Services en PHp

Hola Gator Efectivamente tenes razon cambie el localhost por 127.0.0.1 y no funcionaba pero ingrese al php.ini y alli deshabilte la libreria de php_soap.dll, que despues de tanto leer decian que tocaba deshabiltar esa libreria y funciono perfecto.

al llamar el web service debe ser sin el localhost y con 127.0.0.1,

mil gracias por tu colaboracion
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 00:10.