0 votos

leer un web service asmx en PHP

hola

soy NOVATO en php pero he consultado por google y hacer esto se ve facil... pero... me sale error en la linea donde deseo imprimir o mostrar el resultado, lo que recibe es un objeto pero como hago para transformarlo en array y recorrerlo y mostrar cada uno de los campos???

<?php
   require_once('../lib/lib/nusoap.php');
  $AsmxWebService="http://190.248.128.170/webservXXXX/serviciowebXX.asmx?wsdl";

 $opciones = array(); 

 $WS = new SoapClient($AsmxWebService, $opciones);

 //recibimos la respuesta dentro de un objeto 
  $result = $WS->ExportarOrdenesCompra();
 //Mostramos el resultado de la consulta 
 echo $result->ExportarOrdenesCompraResult;
  ?>

me falta castear $result o $WS->... ??

En caso de convertir el objeto como recorro cada item del array? o puedo recorrer el objeto? me imagino que debo de llevar el objeto a una clase?

0 votos

Que hay dentro de $result? haz var_dump($result); aver que muestra, y de eso que es lo que quieres mostrar?

0 votos

hola Ivan Muñoz es un array de objetos

1voto

Ivan Muñoz Puntos 1120

Para recorrer las propiedades de un objeto puedes usar

<?php
foreach ($objeto as $clave => $valor) { //Esto es igualmente valido para un array asociativo
    echo "Clave: $clave; Valor: $valor<br>";
}
?>

En tu caso

<?php
foreach ($result->HelloWorldResult as $clave => $valor) {
    echo "Clave: $clave; Valor: $valor<br>";
}
?>

Pero me dices que result es un array de objetos, si fuera asi deberias cambiar $result->HelloWorldResult por $result['HelloWorldResult']

1 votos

Para accesar a los campos puedes hacer $valor->id_co, $valor->Documento, etc

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: