Estoy realizando un web service SOAP y me marca un Warning:
Warning: Invalid argument supplied for foreach() in C:\wamp\www\tareas\SOAP_Cliente.php on line 13 SOAP_Cliente.php Código PHP:
<?php
require_once "nusoap.php"; //INCLUIMOS LA LIBRERIA NUSOAP
//error_reporting(E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR);
$client = new nusoap_client("http://localhost/tareas/SOAP_Server.php?wsdl");
$municipios = $client -> call("obtenerMunicipio", array("parametro"=>1));
$municipios = json_decode($municipios);
echo "<ul>";
foreach ($municipios as $municipio) {
echo "<li>".$municipio->mpio_clave." ".$municipio->edo_id." ".$municipio->mpio_descripcion." "."</li>";
}
echo "</ul>";
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);
?>