Foros del Web » Programando para Internet » PHP »

return json_encode

Estas en el tema de return json_encode en el foro de PHP en Foros del Web. Hola, tengo un webservice SOAP con PHP, MySQL. Cuando realizo la consulta y la retorno en un json_encode, no me muestra los resultados. Alguien tiene ...
  #1 (permalink)  
Antiguo 13/04/2016, 06:24
 
Fecha de Ingreso: marzo-2016
Mensajes: 9
Antigüedad: 8 años, 8 meses
Puntos: 0
Pregunta return json_encode

Hola, tengo un webservice SOAP con PHP, MySQL. Cuando realizo la consulta y la retorno en un json_encode, no me muestra los resultados. Alguien tiene alguna idea de como retornar los valores en Json, o XML.

Si hago un var_dump para conocer el contenido de mi arreglo, este si contiene la informacion, pero cuando hago un echo de la funcion esta no me regresa los valores.


SOAP_Server.php
Código PHP:
<?php
require_once "nusoap.php"



$server = new soap_server;
$server->configureWSDL('obtenerMunicipio''urn:obtenerMunicipio');

if (!isset(
$HTTP_RAW_POST_DATA)){
    
$HTTP_RAW_POST_DATA file_get_contents("php://input");
}
function 
obtenerMunicipio($parametro){
    
$cn mysqli_connect("localhost","root","","directorio2");
    
$municipio $cn->query("SELECT mpio_clave, edo_id,mpio_descripcion FROM municipio WHERE edo_id =".$parametro);
    
$ArrMunicipios = [];
    while (
$municipios mysqli_fetch_array($municipio,MYSQLI_ASSOC)){
            
$ArrMunicipios[] = $municipios;
    }
    return 
json_encode($ArrMunicipios);
}




$server -> register("obtenerMunicipio", array("parametro"=>"xsd:int"),
                                        array(
"return" => "xsd:string"),
                                        
"urn:obtenerMunicipio",
                                        
"urn:obtenerMunicipio#obtenerMunicipio",
                                        
"rpc",
                                        
"enconde",
                                        
"Obtener los mpios"
                    
);
$server->service($HTTP_RAW_POST_DATA);
?>

SOAP_Cliente.php
Código PHP:
<?php

require_once "nusoap.php";


$client = new nusoap_client("http://localhost/tareas/SOAP_Server.php?wsdl");
$municipios $client -> call("obtenerMunicipio", array("parametro"=>1));
$municipios json_decode($municipios);


if( 
is_array$municipios ) && count$municipios ) > ) {
echo 
"<ul>";
foreach (
$municipios as $municipio) {
    echo 
"<li>".$municipio->mpio_clave." ".$municipio->edo_id." ".$municipio->mpio_descripcion." "."</li>";
}
echo 
"</ul>";
}
  #2 (permalink)  
Antiguo 13/04/2016, 06:58
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: return json_encode

ECHO?, probaste con PRINT_R ???
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 13/04/2016, 11:14
Avatar de nicolasvillalba  
Fecha de Ingreso: enero-2009
Mensajes: 13
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: return json_encode

No devuelve un arreglo

Para que te devuelva un array es necesario expresarlo así:

json_decode($json, true);

de lo contrario te devuelve un objeto y dado que la pregunta al pricipio es: es un arreglo? y no lo es, no muestra nada. También hay que usar la notación para arreglo arr['clave'];
Espero te sirva

Etiquetas: mysql, return, select, sql
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:04.