Comunidad de diseño web y desarrollo en internet online

PHP SOAP retorna NULL

Citar            
MensajeEscrito el 13 Ene 2014 06:42 pm
Buenas Amigos,

Tengo un problema con un WebService que estoy consumiendo.
Cuando hago el call al método del wsdl los datos llegan y el proceso que se debe hacer con los mismos se hace correctamente, pero cuando me retorna una respuesta
llega como NULL.

Cuando pruebo con SoapUI todo se ejecuta perfecto. la respuesta es un array.

Alguien por favor que me de una luz para saber cual podría ser el problema?
si tiene que ver con la configuración del servidor.

mi código es algo como esto.

Código PHP :

$NitProveedor = 12345; 
     $Referencia = 3345189; 
     $Valor = 110000; 
     $FechaExpiracion = "2014-10-14"; 
     $Cedula = 11435545; 

    $servicio = "la direccion del wsdl"; 

    $options = array( 
        "cache_wsdl" => WSDL_CACHE_NONE, 
         "trace" => true, 
         "encoding" => "utf-8" 
    ); 

     
     $cliente = new SoapClient($servicio, $options); 
     /* Array con los parametros que se enviaran al wsdl */ 
     $parametros = array('NIT_Proveedor' => $NitProveedor, 
                         'Referencia' => $Referencia,  
                         'Valor' => $Valor,  
                         'Fecha_Expira' => $FechaExpiracion,  
                         'Cedula' => $Cedula ); 

      
    $cliente = new SoapClient($servicio, $parametros); 
     
    $result = $cliente->Venta($parametros); 
    var_dump($result); 
     
    $functions = $cliente->__getFunctions(); 
    var_dump ($functions);

Por mposada

1 de clabLevel



 

Programador, Estudiante y curioso

chrome
Citar            
MensajeEscrito el 18 Feb 2014 03:56 pm
Hola yo lo hago asi,

$SoapClient = new SoapClient("URL.svc?wsdl");
$par = array('cia' => $cia);


$factura = $SoapClient->Factura_Venta($par);
//Con esta linea ves la estructura de tu web service
//print "<pre>"; print_r($factura); print "<pre>";

$x = $factura->Factura_VentaResult->Factura_Venta->Factura_Venta_Type;


if (gettype($x) == 'array') {


for ($i = 0; $i < count($x); $i++) {
//Si te devuelve mas de un registro
echo $x[$i]->Factura ;
}




} else {
//Si solo te devuelve un registro
echo $x->Factura;
}


unset($x);

Por Krola

5 de clabLevel



 

chrome
Citar            
MensajeEscrito el 18 Feb 2014 04:10 pm
Gracias.
intentare ese modo, por el momento lo solucione con __GetLasResponse();

Por mposada

1 de clabLevel



 

Programador, Estudiante y curioso

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.