WSLD Servicio Web Tipo Cambio BCN |
El siguiente sitio web detalla algunos aspectos, tanto técnicos, como de condiciones de uso del servicio web:
http://www.bcn.gob.ni/tc/
El BCN ha hecho público ejemplos de cómo consumir el servicio web en plataformas .NET (con VisualBasic) y en PHP. Dado que falta un ejemplo para todos los que usamos Java, estoy liberando bajo licencia de dominio público, un archivo .jar para que pueda ser agregado en proyectos libres o comerciales.
Descargar archivo .jar (Java) para consultar servicio web de tipo de cambio.
Descargar código fuente y documentación del proyecto para el IDE Eclipse.
Ejecución del demo:
java -jar tcBCN.jar
Ejemplo de uso en un programa propio:
package info.denisjtorresg.tcbcn;
import java.util.Date;
import java.util.Map;
import java.util.Map.Entry;
public class Prueba {
public static void main(String[] args) {
// Tipo de cambio del día
System.out.println(TipoCambioBCNSimple.getTipoCambio());
// Tipo de cambio en la fecha indicada (año, mes, día)
System.out.println(TipoCambioBCNSimple.getTipoCambio(2013,6,21));
System.out.println(TipoCambioBCNSimple.getTipoCambio(2012,1,1));
// Tipos de cambio del mes indicado
Map
Date fecha = elemento.getKey();
Double tc = elemento.getValue();
System.out.println(fecha + " => " + tc);
}
El archivo jar suministra una clase de utilería simple llamada TipoCambioBCNSimple ubicada en el paquete: info.denisjtorresg.tcbcn. No requiere de ningún API o jar extra, funciona con Java SE 6 o superior.
Esta clase contiene el método estático getTipoCambio el cual está sobrecargado para recibir distintos tipos de parámetros que especifiquen la fecha o rango de fechas para las cuales se desea conocer el tipo de cambio.
La documentación completa de la clase de utilería TipoCambioBCNSimple se puede ver en:
http://sites.google.com/site/denisjtorresg/TipoCambioBCNSimple.html
Espero que sea de utilidad para el que la necesite.
Otros artículos similares:
Validar números de cédulas de Nicaragua con Java
he agregado las fuentes de forma publica a github https://github.com/necronet/tcbcn2
ResponderEliminarOk, gracias!
ResponderEliminarNo tenes los códigos para VBA.
ResponderEliminarEn la web del BCN está para VB.net
Eliminarhttp://www.bcn.gob.ni/tc/
muy bueno, la libreria
ResponderEliminarPara c# no lo tienes?
ResponderEliminarHola no tengo para c#, pero en la web del BCN hay un ejemplo para VB.net
ResponderEliminarhttp://www.bcn.gob.ni/tc/
Suerte!
hola, soy algo nuevo y no pude hacer que me funcione en mi proyecto, me puede ayudar
ResponderEliminarHola, disculpa creo que ya esta un poco mejor el problema es con las ultimas 2 lineas de codigo.
ResponderEliminarDate fecha = elemento.getKey();
Double tc = elemento.getValue();
getKey y getValue me dan error,
Creo que es por el tipo de dato de Entry es imcompatible.
for(Entry elemento: tcRango.entrySet()){
Hola, puedes indicar cuál es el error que te presenta?
ResponderEliminarHola, es con Entry no ce que tipo de dato es.
EliminarLogre que el codigo funcione y que compile de esta manera:
for (Iterator it = tcRango.entrySet().iterator(); it.hasNext();) {
Entry elemento = (Entry) it.next();
Date fecha = (Date) elemento.getKey();
Double tc = (Double) elemento.getValue();
System.out.println(fecha + " => " + tc);
}
Usando un iterador en el for y a la variable elemento le asigno el iterador convirtiendolo en Entry, la duda es que es entry no encuentro su tipo de dato.
Lo unico que se me ocurre es que es un tipo abstracto.
Espero explicarme bien, gracias por tu tiempo.
Hola
ResponderEliminarEntry es un tipo de dato. Más formalmente es una Interface que está definida dentro de Map:
https://docs.oracle.com/javase/7/docs/api/
Y en efecto una interfaz es una "clase abstracta". La implementación de ese tipo de dato Map.Entry corresponde a cada máquina virtual (JVM).
Puedes usar genéricos para facilitar la iteración y no hacer el casting de forma explícita.
Si tienes dudas me mandas un correo y podemos conversar más al respecto. "me {arroba} denisjtorresg {punto} info"
Disculpa, ¿Cómo obtengo la tasa con respecto a compra y venta?
ResponderEliminarSaludos.