Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Error en la clase de NuSOAP

Estas en el tema de Error en la clase de NuSOAP en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola gente .. tengo el siguiente problema ... Estoy intentando hacer funcionar web service en mi pc, a modo de pruebas .. En principio me ...
  #1 (permalink)  
Antiguo 14/09/2006, 15:02
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 19
Error en la clase de NuSOAP

Hola gente ..
tengo el siguiente problema ...
Estoy intentando hacer funcionar web service en mi pc, a modo de pruebas ..

En principio me guie por esta dir

http://web-services.bankhacker.com/

Tenia un par de problemas, algunos los soluione y a otros no, pero al momenento de usar nusoap me dio el siguiente error

Fatal error: Cannot redeclare class soapclient in C:\xampp\xampp\htdocs\ws4\lib\nusoap.php on line 7240

He buscado la clase pero no la encuentro ...
Pense que quizas me estaba equivocando .. volvi a leer todo de nuevo y siguio todo igual, asi que opte por realizar una nueva busqueda ...

y ahi encontre esto ...
http://www.desarrolloweb.com///artic...1852&manual=61


todo bien .. pero el problema persiste .. si alguien sabe a que se debe se lo voy a agradecer ...

SO: Windows XP
PHP 5

saludos y muchas gracias !!!
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #2 (permalink)  
Antiguo 14/09/2006, 15:14
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Deberías indicar como usas tu código ...

El mensaje de error te dice que hay un par de "class soapclient()" o parecido .. ya se por qué tienes el código bajo un "include()" y lo llamas ahí + en otro lado ... o no sé .. sin ver TODO el código en su contexto es dificil aventurar soluciones.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 14/09/2006 a las 19:28 Razón: Para evitar confusiones .. edité mi mensaje "decía new soapclient()"... no es correcto.
  #3 (permalink)  
Antiguo 14/09/2006, 15:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
El error te esta diciendo que estas "redeclarando" una clase, tienes que ver donde lo estas haciendo y ver porque, un ejemplo es algo asi:
Código PHP:
class prueba {}
class 
prueba {} // Aqui te sale un error similar al que tienes. 
  #4 (permalink)  
Antiguo 15/09/2006, 10:46
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 19
a ver gente ... el problema que creo que es que la clase soapclient tiene un metodo que se llama igual esto puede causar problemas ?

de todas formas les cuento bien ... cuando intento ejecutar el archivo seleccionarLocalidad.php
Código PHP:
<?php
/**
 * Codigo para consumir un servicio web (Web Service) por medio de NuSoap
 * La distribucion del codigo es totalmente gratuita y no tiene ningun tipo de restriccion. 
 * Se agradece que mantengan la fuente del mismo.
 */
 
$sPais "argentina"// Nombre del pais que queremos el listado de localidades

// Inclusion de la libreria nusoap (la que contendra toda la conexión con el servidor //
require_once('lib/nusoap.php');

$oSoapClient = new soapclient('http://live.capescience.com/wsdl/GlobalWeather.wsdl'true);

if (
$sError $oSoapClient->getError()) {
    echo 
"No se pudo realizar la operación [" $sError "]";
    die();
}

$aParametros = array("country" => $sPais);
$respuesta $oSoapClient->call("searchByCountry"$aParametros);

// Existe alguna falla en el servicio?
if ($oSoapClient->fault) { // Si
    
echo 'No se pudo completar la operaci&oacute;n';
    die();
} else { 
// No
    
$sError $oSoapClient->getError();
    
// Hay algun error ?
    
if ($sError) { // Si
        
echo 'Error:' $sError;
        die();
    } 
}
?>
<html>
<body> 
<form action="mostrarPronostico.php" method="post" name="frmLocalidades" id="frmLocalidades"> 
  <table width="400" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
      <td colspan="2"><div align="center">Seleccione una localidad</div></td> 
    </tr> 
    <tr> 
      <td width="61">&nbsp;</td> 
      <td width="339">&nbsp;</td> 
    </tr> 
    <tr> 
      <td>Localidad:</td> 
      <td><select name="codLocalidad" id="codLocalidad">
      <?
            
// Recorremos el array (wmo es la clave que necesitamos para el proximo script)
            
foreach ($respuesta as $iClave => $aElemento
                echo 
"<option value='".$aElemento["wmo"]."'>".$aElemento["name"]."</option>";
      
      
?>  
      </select></td> 
    </tr> 
    <tr> 
      <td>&nbsp;</td> 
      <td>&nbsp;</td> 
    </tr> 
    <tr> 
      <td>&nbsp;</td> 
      <td><input type="submit" name="Submit" value="Quiero ver el pronostico"></td> 
    </tr> 
  </table> 
</form> 

</body>
</html>
El archivo nusoap.php es muy grande asi que aqui lo dejo para que lo descarguen... estoy viendo si puedo cambiarle nombre, pero voy a tener que cambiar el nombre en todos los lugares donde se instancie a la clase o se haga referencia al metodo... ¿Como distingo cual es cual?

saludos y muchas gracias ...
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #5 (permalink)  
Antiguo 15/09/2006, 11:17
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 19
ya le cambie el nombre a la clase en todo los lugares donde se instancia ... y la cosa sigue igual ....

he revisado minusiosamente el archivo SeleccionarLocalidad.php y no he visto que se este instanciando dos veces con el mismo nombre .... :S

asi que por ahora la cosa sigue igual !!!!
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #6 (permalink)  
Antiguo 15/09/2006, 12:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Pues ya he visto tu codigo y creo el error esta en que pegaste todas tus clases en un solo code, (no es que este mal) pero quita todos los ?><?php que tienes pueden provocar errores y deja todo en un bloque de codigo.
  #7 (permalink)  
Antiguo 15/09/2006, 12:45
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 19
eso no lo modifique ... es asi como se descarga de sourceforge ...

de todas formas no pierdo nada con probar asi que a probar ...

para salir de la duda sobre el funcionamiento lo subi a mi pagina web y funciona a la perfección asi que por ende hay algo en pc que no esta funcionando o que directamente no esta ...

aca les dejo el link asi los prueba ..

http://www.mrad.com.ar/nusoap/samples/

saludos !
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #8 (permalink)  
Antiguo 18/09/2006, 10:07
Avatar de turco_7  
Fecha de Ingreso: diciembre-2003
Ubicación: Córdoba, Argentina
Mensajes: 1.044
Antigüedad: 20 años, 4 meses
Puntos: 19
Problema Solucionado

Resulta que la clase NuSOAP no funciona con la version 5 de PHP pero si funciona con la version 4 asi que para cuando alguien tenga un problema parecido .. ya sabe ...

saludos !
__________________
Mi Blog http://turco7.blogspot.com
Usuario Linux : 404289
Mi última página: http://www.digitalservicecba.com.ar - Reparacion de camaras digitales!
  #9 (permalink)  
Antiguo 07/10/2006, 13:07
 
Fecha de Ingreso: octubre-2003
Ubicación: Veracruz, México
Mensajes: 169
Antigüedad: 20 años, 6 meses
Puntos: 0
Eso es realmente una lástima yo al dia de hoy no he podido lograr realizar exitosamente ningún webservice con la clase nuSOAP, ya que siempre marcaba errores.

Voy a intentar probarlo en la versión 4.

Sin embargo es una lástima que una clase tan útil, al menos en teoría, no pueda funcionar en la versión 5.

Alguien conoce alguna otra clase o forma de realizar webservices en PHP ?
  #10 (permalink)  
Antiguo 16/10/2006, 09:36
 
Fecha de Ingreso: octubre-2006
Ubicación: Málaga
Mensajes: 33
Antigüedad: 17 años, 6 meses
Puntos: 0
Hola,

yo pasé por el mismo problema, me decía que estaba la clase estaba duplicada o un error en los parámetros.
La razón por la que no funciona en PHP5 y sí en PHP4 es que en PHP5 existe una extensión que ya trae la clase soapclient().
Para que funcione debeis renombrar la clase soapclient() dentro del archivo nusoap.php y listo.
Por lo menos a mi me funciona con PHP5, el framework Symfony y haciendo peticiones SOAP a Google en mi proyecto Omnibius.com.
Espero que ayude.

Un saludo,
Alejandro
  #11 (permalink)  
Antiguo 10/11/2006, 20:39
 
Fecha de Ingreso: noviembre-2006
Mensajes: 10
Antigüedad: 17 años, 5 meses
Puntos: 0
Wsdl

Gracias al post anterior ahora puedo ver los Web Services con PHP 5, pero aun sigo sin poder usarlos, no tendra algo que ver el wsdl? Soy muy nuevo en PHP y todavia no se mucho. Ademas de remnombrar la clase soapclient en el archivo nusoap.php, donde mas hay que renombrarla o hacer referencia?
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 16:30.