Foros del Web » Programando para Internet » PHP »

Nusoap PHP retorno XML

Estas en el tema de Nusoap PHP retorno XML en el foro de PHP en Foros del Web. Estimados, quiero que al consumir el WSDL este retorne el XML y no un arreglo de datos Código PHP:     $client  = new  nusoap_client ( "localhost/index.php?wsdl" , ...
  #1 (permalink)  
Antiguo 04/10/2017, 14:41
 
Fecha de Ingreso: febrero-2011
Mensajes: 96
Antigüedad: 6 años, 8 meses
Puntos: 0
Nusoap PHP retorno XML

Estimados, quiero que al consumir el WSDL este retorne el XML y no un arreglo de datos

Código PHP:
    $client = new nusoap_client("localhost/index.php?wsdl",true);
    
    
$dataPrueba $client->call('getLista','');

//En PHP retorna:

Array
(
    [
0] => Array
        (
            [
ID_ZONA] => 10
            
[DESC_ZONA] => ALAMEDA
        
)
}

//Lo que necesito que retorne es el XML o lo mismo que retorna SoapUI, o un curl, seria esto:

<xml>
            <
item>
               <
ID_ZONA xsi:type="xsd:string">10</ID_ZONA>
               <
DESC_ZONA xsi:type="xsd:string">ALAMEDA</DESC_ZONA>
            </
item>
</
xml
Gracias :D
  #2 (permalink)  
Antiguo 04/10/2017, 15:51
 
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 691
Antigüedad: 5 años
Puntos: 78
Respuesta: Nusoap PHP retorno XML

podrias juntarlo todo en un string y enviar

Código PHP:
Ver original
  1. function arrayToXmlString($arr){
  2. $xml = "<xml>";
  3.     for($k=0;$k<sizeof($arr);$k++){
  4.     $xml .= "<item>";
  5.     $keys = array_keys($arr[$k]);
  6.         for($n=0;$n<sizeof($keys);$k++){
  7.         $key = $keys[$n];
  8.         $value = $arr[$k][$key];
  9.         $xml .= "<$key xsi:type=\"xsd:string\">$value</$key>";
  10.         }
  11.     $xml .= "</item>";
  12.     }
  13. $xml .= "</xml>";
  14. return $xml;
  15. }

Hay que pulirlo lo hice rápido, pero espero se entienda la idea
  #3 (permalink)  
Antiguo 06/10/2017, 07:35
 
Fecha de Ingreso: febrero-2011
Mensajes: 96
Antigüedad: 6 años, 8 meses
Puntos: 0
Respuesta: Nusoap PHP retorno XML

Cita:
Iniciado por alvaro_trewhela Ver Mensaje
podrias juntarlo todo en un string y enviar

Código PHP:
Ver original
  1. function arrayToXmlString($arr){
  2. $xml = "<xml>";
  3.     for($k=0;$k<sizeof($arr);$k++){
  4.     $xml .= "<item>";
  5.     $keys = array_keys($arr[$k]);
  6.         for($n=0;$n<sizeof($keys);$k++){
  7.         $key = $keys[$n];
  8.         $value = $arr[$k][$key];
  9.         $xml .= "<$key xsi:type=\"xsd:string\">$value</$key>";
  10.         }
  11.     $xml .= "</item>";
  12.     }
  13. $xml .= "</xml>";
  14. return $xml;
  15. }

Hay que pulirlo lo hice rápido, pero espero se entienda la idea

Gracias por la respuesta, pero el XML es gigante, tiene tag y dependencia tipo árbol, por esto quiero indicarle al nusoap "No transformes a Arreglo y retornar el XML" pero no tengo idea si esto se puede indicar mediante un parámetro..!!
  #4 (permalink)  
Antiguo 06/10/2017, 09:06
 
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 691
Antigüedad: 5 años
Puntos: 78
Respuesta: Nusoap PHP retorno XML

Mi respueta va por el lado de que si te está arrojando el arreglo, puedes usar lo que te dejé. en otro caso, no se puede.

De hecho si te fijas uso como parametro el arreglo.



La zona horaria es GMT -6. Ahora son las 12:37.