Foros del Web » Programando para Internet » PHP »

Tasa de cambio en el BANGUAT con SOAP-XML

Estas en el tema de Tasa de cambio en el BANGUAT con SOAP-XML en el foro de PHP en Foros del Web. Esto de SOAP o XML ni lo entiendo. He tratado de encontrar documentacion pero no le atino. La idea es que debo tomar el valor ...
  #1 (permalink)  
Antiguo 22/08/2007, 12:25
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Tasa de cambio en el BANGUAT con SOAP-XML

Esto de SOAP o XML ni lo entiendo. He tratado de encontrar documentacion pero no le atino.

La idea es que debo tomar el valor de la tasa de cambio de referencia del Banco de Guatemala y aplicarla a todos los precios que tenga. Del banco ya me enviaron informacion y se puede encontrar en http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx

Tengo la impresion de que debo de usar la opcion TipoCambioDia pero no entiendo como.

Alguien sabe como?
  #2 (permalink)  
Antiguo 22/08/2007, 12:46
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Tasa de cambio en el BANGUAT con SOAP-XML

Que estas usando desde php para tu webservice cliente?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 22/08/2007, 13:00
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Re: Tasa de cambio en el BANGUAT con SOAP-XML

Pues todos eso es lo que no entiendo...

que hago?
como lo uso?
como me conecto?
como obtengo el valor?
etc

Gracias mil por la ayuda

Yo estoy programando en PHP localmente en mi notebook de ahi subiremos el website a su dominio final siempre y cuando lo apruebe mi jefe. Uso XAMPP 1.6.0a en un Windows XP

Última edición por ruxee; 22/08/2007 a las 13:11 Razón: me falto agregar info.
  #4 (permalink)  
Antiguo 22/08/2007, 13:43
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Tasa de cambio en el BANGUAT con SOAP-XML

Hay varias alternativas, una de las más usadas es la clase nusoap. Para usarla descargate la última versión de esta clase (fijate en google, ), y la usas algo así:

Código PHP:
require_once('includes/nusoap.php');
$soapclient = new soapclient('http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx');
print_r$soapclient->call'TipoCambioDia' ) ); 
Fijate bien que llamada (call) necesitas hacer, probalo, y de necesitar pasarle algún dato lo harías así:
Código PHP:
$soapclient->call'TipoCambioDia', array('dato'=>'valor','otrodato'=>'valor2') ) ; 
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #5 (permalink)  
Antiguo 22/08/2007, 14:38
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Re: Tasa de cambio en el BANGUAT con SOAP-XML

Gracias Nicolaspar,

Ya inserte el codigo como me indicaste anteriormente, todos los archivos relacionados con el NUSOAP ya estan grabados en el directorio includes. sin embargo luego de insertarlo me tira el siguiente error.

Cita:
Fatal error: Cannot redeclare class soapclient in C:\Program Files\xampp\htdocs\quieroruedas\includes\nusoap.ph p on line 7240
Ya probe cambiar el nombre en el codigo donde se invoca por otra variable que se llame distinta a la funcion, pero me tira el mismo error.

Saludos,

Última edición por ruxee; 22/08/2007 a las 15:08
  #6 (permalink)  
Antiguo 22/08/2007, 14:58
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Tasa de cambio en el BANGUAT con SOAP-XML

En versiones viejas si es un único archivo.
Las nuevas tienen unos 12 archivos los cuales tenes que tener todos, aunque solo tenes que incluir ese, el mismo tiene "instancias dinámicas"
__________________
Mi punto de partida es Que Bueno Lo Nuevo

Última edición por nicolaspar; 22/08/2007 a las 15:04
  #7 (permalink)  
Antiguo 22/08/2007, 15:54
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Re: Tasa de cambio en el BANGUAT con SOAP-XML

Si pero me saca el error que te menciono arriba.
  #8 (permalink)  
Antiguo 23/08/2007, 07:27
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Tasa de cambio en el BANGUAT con SOAP-XML

El tema es que creo que si tenes activa una dll para trabajar con soap desde php se pisan las funciones de nusoap (no entiendo porque no usaron otro name), o al menos es lo que esuche/leí.
Si es así fijate si la tenes y usa esas funciones que ya tenes y no nusoap.

Referencia: http://php.net/soap
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #9 (permalink)  
Antiguo 23/08/2007, 13:42
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Exclamación Re: Tasa de cambio en el BANGUAT con SOAP-XML

Pero no hay modo nicolaspar,

Ya ingrese de miles de maneras porque en efecto tengo el php_soap.dll instalado en esta version de xampp. He insertado este texto en mi script

Código PHP:
$soapclient = new SoapClient('http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx');
$tipocambioaldia$SoapClient->__doRequest('TipoCambioDia','http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx'); 
y he probado de varias maneras pero definitivamente no tener documentacion de soap me esta arruinando. el mensaje que me saca al final es:

Cita:
Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx' in C:\Program Files\xampp\htdocs\quieroruedas\vehiculos\vehiculo s_U.php:188 Stack trace: #0 C:\Program Files\xampp\htdocs\quieroruedas\vehiculos\vehiculo s_U.php(188): SoapClient->SoapClient('http://www.bang...') #1 {main} thrown in C:\Program Files\xampp\htdocs\quieroruedas\vehiculos\vehiculo s_U.php on line 188
  #10 (permalink)  
Antiguo 23/08/2007, 14:35
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Tasa de cambio en el BANGUAT con SOAP-XML

Me parece que no lo estas implementando bien, no sabría decirte bien, pero fijate en los ejemplos de esta pagina:

http://ar2.php.net/manual/es/function.is-soap-fault.php

Seguí contando como vas con esto!


Edit: Acá parece estar un poco mas claro: http://ar2.php.net/manual/es/functio...t-soapcall.php
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #11 (permalink)  
Antiguo 09/01/2008, 19:28
Avatar de ruxee
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: USA
Mensajes: 131
Antigüedad: 21 años, 8 meses
Puntos: 7
Re: Tasa de cambio en el BANGUAT con SOAP-XML


Pues al final ni siquiera logre implementarlo, el proyecto se paro un tiempo y ahora lo lanzan en definitiva y yo sigo con el mismo problema.

La pagina de donde quiero obtener la tasa de cambio es:
http://www.banguat.gob.gt/variables/...=TipoCambioDia

Estan la pagina de donde selecciona que quiero obtener que es:
http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx

Me respondieron los del banco y dijeron que podia usarla pero solo me dan referencia a estos paginas.

Si alguien tiene como obtener la tasa de cambio del BANCO DE GUATEMALA de tal manera que pueda tener el tipo de cambio en una variable de PHP y asi poderla usar en precios de la pagina que estamos trabajando.
  #12 (permalink)  
Antiguo 11/01/2008, 15:54
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Re: Tasa de cambio en el BANGUAT con SOAP-XML

Cita:
Iniciado por ruxee Ver Mensaje
Gracias Nicolaspar,

Ya inserte el codigo como me indicaste anteriormente, todos los archivos relacionados con el NUSOAP ya estan grabados en el directorio includes. sin embargo luego de insertarlo me tira el siguiente error.



Ya probe cambiar el nombre en el codigo donde se invoca por otra variable que se llame distinta a la funcion, pero me tira el mismo error.

Saludos,
Como dijo Nicolaspar hay un problema de redeclaración de clase porque PHP ya incorpora NuSOAP (o algo así)... puedes usar las funciones SOAP nativas o renombrar la clase (y su constructor) soapclient de NuSOAP... así de simple.

Por otro lado... No tuve problema en implementar la función TipoCambioDia. Regresa un array:
Código PHP:
array(1) {
  [
"TipoCambioDiaResult"]=>
  array(
2) {
    [
"CambioDolar"]=>
    array(
1) {
      [
"VarDolar"]=>
      array(
2) {
        [
"fecha"]=>
        
string(10"13/01/2008"
        
["referencia"]=>
        
string(7"7.71907"
      
}
    }
    [
"TotalItems"]=>
    
string(1"1"
  
}

... el código (usando NuSOAP):
Código PHP:
<?php

require_once('nusoap/nusoap.php');
$url 'http://www.banguat.gob.gt/variables/ws/TipoCambio.asmx?WSDL';

$client = new soapclient($urltrue);

$error $client->getError();
if (
$error)
{
    die(
'<p><stong>ERROR:</strong><br /> '.$error.'</p>');
}

$result $client->call('TipoCambioDia');

var_dump($result);
?>
¿No estarás detrás de proxy o algo que te haga ruido en la conexión?

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:45.