Necesito consumir el servicio Web de Banxico que se proporciona en la siguiente liga:
[URL="http://www.banxico.org.mx/DgieWSWeb/DgieWS?operation.invoke=tiposDeCambioBanxico"]http://www.banxico.org.mx/DgieWSWeb/DgieWS?operation.invoke=tiposDeCambioBanxico[/URL]
y su descripción WSDL aqui:
[URL="http://www.banxico.org.mx/DgieWSWeb/DgieWS?WSDL"]http://www.banxico.org.mx/DgieWSWeb/DgieWS?WSDL[/URL]
no he podido consumir este web service, utilizo nuSOAP como libreria en PHP. Les dejo el código que estoy tratando de hacer para imprimir los valores del tipo de cambio, pero todavia no funciona y no sé bien como hacer que funcione.
Código PHP:
<?php
require_once('lib/nusoap.php');
$oSoapClient = new nusoap_client('http://www.banxico.org.mx:80/DgieWSWeb/DgieWS?WSDL','wsdl');
if ($sError = $oSoapClient->getError()) {
echo "No se pudo realizar la operación [" . $sError . "]";
die();
}
//$aParametros = array("TITULO" => $titulo,"IDSERIE"=> $serie,"BANXICO_FREQ"=>$frec, "BANXICO_UNIT_TYPE"=> $tipo);
//$aParametros = "";
$respuesta = $oSoapClient->call("tiposDeCambioBanxico", array(),"http://ws.dgie.banxico.org.mx","","","","rpc","http://schemas.xmlsoap.org/soap/encoding/","encoded");
// Existe alguna falla en el servicio?
if ($oSoapClient->fault) { // Si
echo 'No se pudo completar la operación';
die();
}else { // No
$sError = $oSoapClient->getError();
// Hay algun error ?
if ($sError) { // Si
echo 'Error:' . $sError;
die();
}
echo "Funciono correctamente<br/>";
echo "<pre>";print_r($respuesta,false); echo "</pre>";
echo $respuesta["OBS_VALUE"];
}
?>
TIPOSDECAMBIO
false
false
Tipos de Cambio
2011-01-10 23:38:32.838
Banco de México
Subgerencia de Desarrollo de Sistemas
(01 55)52372678
Update
2011-01-10 23:38:32.838
cuando deberia de arrojar eso mismo más el tipo de cambio como se muestra en la página de prueba de este servicio Web que proporciona Banxico:
[URL="http://www.banxico.org.mx/DgieWSWeb/DgieWS?operation.invoke=tiposDeCambioBanxico"]http://www.banxico.org.mx/DgieWSWeb/DgieWS?operation.invoke=tiposDeCambioBanxico[/URL]
Espero alguien pueda ayudarme, no he encontrado a nadie que lo haya resuelto y posteado con php.
Saludos.