Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2011, 11:40
sebachili2
 
Fecha de Ingreso: abril-2011
Mensajes: 23
Antigüedad: 13 años
Puntos: 0
Sonrisa Problema con Soap en PHP

Muy buenas tardes a todos,

El problema radica en la obtención de datos de un web services. Para ello empleo soap+php.

Estoy realizando pruebas para intentar de entender como capturar datos de una respuesta por parte de una "wsdl".

Programo bajo php.

La url es la siguiente -> http://www.w3schools.com/webservices/tempconvert.asmx


Me interesa ver... que al pasar un valor en grados Celsius.. que me devuelva el Fahrenheit... así que bueno... pues pico en la opción esa...

http://www.w3schools.com/webservices/tempconvert.asmx?op=CelsiusToFahrenheit

A continuación os pondré mi sencillo codigo por si alguien me arroja algo de luz, he mirado muchisimo y no encuentro como hacerlo.

Código PHP:
<?php
    
require_once( '../nusoap-0.9.5/lib/nusoap.php' );


    
$c =  new soapclient ('http://www.w3schools.com/webservices/tempconvert.asmx?wsdl');

    
$valor $c -> __getFunctions();
                
    foreach (
$valor as $actual)
    {
            
print_r($actual);
            echo
"<br>";
        }   
            echo 
"<p>"
                    
                
                
                
                

    
//$resultado = $c -> _soapCall("CelsiusToFahrenheit",array());
    
$resultado $c -> CelsiusToFahrenheit('32');
                
                
                
                
    echo 
"<p><p>He aqui el resultado: ";
    echo(
$resultado->CelsiusToFahrenheitResult);    
                
                

    
?>

Como podeis comprobar... lo primero que hago es realizar una llamada para ver que el "wsdl" devuelve el compendio de funciones que tiene.

Y por ultimo solo quiero ver el uso de una de sus funciones .. "CelsiusToFahrenheit".

A continuación os pongo el resultado que me arroja ese código.

Cita:
FahrenheitToCelsiusResponse FahrenheitToCelsius(FahrenheitToCelsius $parameters)
CelsiusToFahrenheitResponse CelsiusToFahrenheit(CelsiusToFahrenheit $parameters)
FahrenheitToCelsiusResponse FahrenheitToCelsius(FahrenheitToCelsius $parameters)
CelsiusToFahrenheitResponse CelsiusToFahrenheit(CelsiusToFahrenheit $parameters)

He aqui el resultado: Error
Como podeis observar... el resultado de convertir de Celsius a Fahreint.. es "error"... .. deberia de dar 98.6.


Alguien que pueda ayudarme.. le estaría muy agradecido.

Saludos y gracias por leerme.

Última edición por sebachili2; 23/04/2011 a las 12:14