elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda  (Leído 7,992 veces)
Navidad

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Ayuda
« en: 25 Octubre 2012, 20:21 pm »

Estoy en un proyecto, de la creación de un programa en capas en c#.

1ra capa: es un winform el cual cargara un archivo xml, posteriormente la pasara a una capa de de WCF.

2da capa: WCF el cual es la encargada de recibir el archivo xml y pasarla a la siguiente capa.

3ra capa: BS es la encargada de recibir el archivo xml y validarlo por medio de un XSD y un XSL, los cuales deben ser ubicados en una carpeta de recursos de este proyecto. Posteriormente en esta capa los valores del xml vienen dolarizados.

WS BCCR: Servicio Web expuesto por el Banco Central de Costa Rica, por medio del cual podemos obtener el tipo de cambio de referencia del dólar para la fecha indicada.

posteriormente enviar el archivo xml a base de datos...


Espero me puedan ayudar en algo, cualquier aporte sera de gran ayuda.

de antemano gracias.

 


En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Ayuda
« Respuesta #1 en: 25 Octubre 2012, 20:57 pm »

¿Y cual sería la consulta? Parece más bien la letra de un ejercicio.

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
.::IT::.

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: Ayuda
« Respuesta #2 en: 26 Octubre 2012, 05:57 am »

supongo que te refieres a esto:

http://indicadoreseconomicos.bccr.fi.cr/indicadoreseconomicos/WebServices/wsIndicadoresEconomicos.asmx

y quieres usar el web service desde tu aplicacion web pues lo tienes casi todo echo en .net solo agrega la referencia al web service y invoca al metodo:

ObtenerIndicadoresEconomicos

ObtenerIndicadoresEconomicosXML

o tambien puedes desde la consola de visual studio ejecutar:

Código:
wsdl http://indicadoreseconomicos.bccr.fi.cr/indicadoreseconomicos/WebServices/wsIndicadoresEconomicos.asmx?WSDL

eso te genera un archivo .cs para c# en el cual puedes usar en tu aplicacion
En línea

Simplemente .::IT::.
Navidad

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: Ayuda
« Respuesta #3 en: 27 Octubre 2012, 05:05 am »

Novlucker

en si ese es el planteamiento, lo que necesito es en cualquier aporte de todo eso, me gustaria como hago para validar el xml contra el xsd.. seria de grana yuda el aporte



.::IT::.

si estoy trabando con eso, lo que me tira es un xml con el tipo de cambio del dolar, me podrias ayudar, como hago para tomar ese dato del xml o no es necesario.???
« Última modificación: 27 Octubre 2012, 05:43 am por simorg » En línea

Navidad2

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Ayuda
« Respuesta #4 en: 27 Octubre 2012, 07:12 am »

se ria algo como esto


servicio.wsObtener.... dd = new servicio.wsObtener();
dd.____________;

para pasar el objeto

xml wsd xsl se pueden hacer automaticos hay que cambiar u poco las validaciones suerte NAVIDAD
En línea

.::IT::.

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: Ayuda
« Respuesta #5 en: 28 Octubre 2012, 18:06 pm »

Según veo tienes dos métodos uno que devuelve un Dataset ( para usar .net es más fácil) y otro que devuelve un Xml en formato string(para consumirlo desde cualquier aplicación) bueno procedamos.

Para Invocar y recoger los datos desde webmethod “ObtenerIndicadoresEconomicos” bastaría con una función como la siguiente

Código
  1. private DataTable ObtenerIndicadoresEconomicos()
  2. {
  3.            IniciarParametros();
  4.  
  5.            DataSet resul = myWs.ObtenerIndicadoresEconomicos(tcIndicador,
  6.                                                              tcFechaInicio,
  7.                                                              tcFechaFinal,
  8.                                                              tcNombre,
  9.                                                              tcSubNiveles);
  10.  
  11.            if (resul != null)
  12.                return resul.Tables[0];
  13.            else
  14.                throw new Exception("No se encontraron resultados");
  15. }
  16.  

Y para “ObtenerIndicadoresEconomicosXML” seria:

Código
  1. private DataTable ObtenerIndicadoresEconomicosXml()
  2. {
  3.            IniciarParametros();
  4.            string resul = myWs.ObtenerIndicadoresEconomicosXML(tcIndicador,
  5.                                                     tcFechaInicio,
  6.                                                     tcFechaFinal,
  7.                                                     tcNombre,
  8.                                                     tcSubNiveles);
  9.            XmlDocument myXml = new XmlDocument();
  10.            myXml.LoadXml(resul);
  11.  
  12.            XmlNodeReader _reader = new XmlNodeReader(myXml);
  13.  
  14.            DataSet myDs = new DataSet();
  15.            myDs.ReadXml(_reader);
  16.  
  17.            if (myDs.Tables != null)
  18.                return myDs.Tables[0];
  19.            else
  20.                throw new Exception("No se encontraron resultados");
  21. }
  22.  

En donde :

"IniciarParametros()" es un metodo que incializa los valores para tcIndicador, tcFechaInicio, tcFechaFinal,tcNombre y tcSubNiveles respectivamente todos de tipo string segun indica el web service.

"myWs" es una clase de tipo "wsIndicadoresEconomicos" que me genero la utilidad wsdl de .net.

bueno aqui un ejemplo que hice.



https://rapidshare.com/#!download|701p11|2599448488|bccr.zip|27|0|0

Nota: La carga demora un poco por lo que te recomiendo usar subprocesos para ello podrias usar la clase Thread o un el control BackgroundWorker que es mi favorito por ser muy sencillo de usar.

Saludos!!!
« Última modificación: 28 Octubre 2012, 18:20 pm por .::IT::. » En línea

Simplemente .::IT::.
Navidad

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: Ayuda
« Respuesta #6 en: 30 Octubre 2012, 06:20 am »

.::IT::.

 Gracias por ese gran aporte, intentare trabajar con esos codigos cualquier duda ahi te escribo xD

me gustaria si me puedes ayudar con lo que sos las validaciones comparar el xml con el schema.

gracias xD
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Ayuda
« Respuesta #7 en: 30 Octubre 2012, 12:57 pm »

Lo que estas pidiendo no es ayuda, es el ejercicio completo, por que no muestras tus avances? :¬¬

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Navidad

Desconectado Desconectado

Mensajes: 4



Ver Perfil
Re: Ayuda
« Respuesta #8 en: 30 Octubre 2012, 17:13 pm »

el proyecto es grande, ya tengo el squema del archivo xml ahora neceito compararlos para ver si el archivo pasa la validación.
En línea

.::IT::.

Desconectado Desconectado

Mensajes: 167



Ver Perfil
Re: Ayuda
« Respuesta #9 en: 30 Octubre 2012, 19:01 pm »

Aqui ya tienes el XmlDocument

Código
  1. string resul = myWs.ObtenerIndicadoresEconomicosXML(tcIndicador,
  2.                                                     tcFechaInicio,
  3.                                                     tcFechaFinal,
  4.                                                     tcNombre,
  5.                                                     tcSubNiveles);
  6.            XmlDocument myXml = new XmlDocument();
  7.            myXml.LoadXml(resul);
  8.  

de hi ya solo lo comparas con tu esquema Xml mira este link:

http://msdn.microsoft.com/en-us/library/aa302294.aspx

espero te ayude!!

Saludos!!!
En línea

Simplemente .::IT::.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines