![]() |
Obtener fecha de un web service soap
Estimados.. Recurro a uds luego de un dia tratando de encontrar el problema( pero en realidad, el problema soy yo, que no se aun utilizar muy bien las clases y los web services ).
Necesito obtener una fecha resultado del wbs que presento a continuacion. El problema es que no estoy muy seguro como instanciarlo, ejecutarlo y obtener el resultado. El wbs es el siguiente
Y lo tengo "instanciado" en mi aplicacion de esta manera.
Muchas gracias de antemano por su colabaracion.. Saludos |
Hola, Ibidi.
Lo primero que tienes que hacer es definir la fecha correctamente. Como en el web service está definida asi:
Tendrás que definirla en Delphi también como:
Ahora bien, GetwsultimocierreSoapPort devuelve un wsultimocierreSoapPort (tu variable ws_cierre) que tiene una función execute, con un parámetro de tipo wsultimocierre_Execute, que devuelve un tipo wsultimocierre_ExecuteResponse, que tiene una propiedad Salida de tipo wsultimocierreout y este a su vez es el que tiene la propiedad Fecha, creo que al final debería ser más o menos así:
Creo que más o menos sería así, pero tengo algo oxidado el acceso a webservices en Delphi (como otros muchos males del mundo, ahora estoy con Java por necesidad), pero creo que puede orientarte un poco Saludos |
Un código como este debería ser suficiente:
![]() El tipo TXSDate está defindo en la unit Soap.XSBuiltIns http://docwiki.embarcadero.com/Libra...iltIns.TXSDate |
MUCHISIMAS GRACIAS a ambos !!
Funciono perfecto de ambas maneras. Ahora sigo en otra pregunta , porque van ambas concatenadas. |
Luego de obtener esa fecha, debo llamar a otro ws que sigue a continuacion. Es para obtener cotizaciones de las monedas extranjeras a esa fecha.
Me interesa solo la cotizacion del Dolar, pero no me doy cuenta si hay que pasarle algo como parametro ( y como ), o si retorna todas las monedas que retorna el ws. Muchisimas gracias.. me salvan la vida... El codigo del ws es este.
|
Revisando por encima, parece que wsbcucotizacionesin, debes asignarlo tú.
De todas formas, para no estar probando, deberías buscar si hay documentación. |
Gracias German por responder. He estado buscando informacion pero al ser un organismo del estado, no esta tan facil de encontrar si hubiera, por eso
fue que puse el post original . No tengo ni idea como hacer lo que me pides, pero ya vere.. habra que ir tanteando como se hace, a prueba y error. Saludos |
Cita:
El parámetro de entrada es de tipo wsbcucotizaciones_Execute y la salida de tipo wsbcucotizaciones_ExecuteResponse. Si te centras en la respuesta, tiene una property:
A su vez wsbcucotizacionesout tiene 2 propiedades:
respuestastatus parece por el nombre cómo ha ido la petición y datoscotizaciones es un array del tipo datoscotizaciones_dato, que parece ser lo que tú necesitas:
Con el parámetro de entrada debes hacer lo mismo. wsbcucotizaciones_Execute tiene una propiedad:
Y el tipo wsbcucotizacionesin tiene la siguiente estructura:
Tiene sentido, que para solicittar una cotización debas añadir unas fechas y una moneda. El Grupo, ya no se que es. |
No es muy complicado.
Un código como este conecta y devuelve resultados:
Un código como este devuelve algun resultado con sentido. ![]() Si accedes a la primera: ![]() |
Wow! Qué gran trabajo, Germán... Yo me había atorado un poco y está todo más que claro...
Gracias y un saludo |
EXCELENTE es poco GERMAN...
Muchisimas gracias !!! Soy bastante inutil y neofito con respecto a los webservices pero con ese nivel de detalle tuyo , es muy facil de comprender. Mi mayor estimacion para ti y mi respeto. Saludos y felicias fiestas ... |
FELIZ AÑO PARA TODOS LOS FORISTAS !!!
Estimados, vuelvo a molestar para preguntar porque puede ser que estos webservices que tan bien German ayudo a que me funcionara, no se ejecute bien en Windows 7 y funcione perfecto en WIN 10 ?? Solamente me dice que no se pudo establecer comunicacion con el servidor.. |
Me da la impresión de que tiene que ver con los protocolos de comunicación.
Lo primero es analizarlo utilizando la web: https://www.ssllabs.com/ssltest/ Accede a la web y analiza tu servidor: https://cotizaciones.bcu.gub.uy/wscotizaciones/servlet/ Luego, aplicando esto que tienes aquí, ya sea mediante los parches o creando las claves del registro, te debería funcionar. Yo he conseguido que desaparezca el error y acced sin problemas. https://support.microsoft.com/en-us/...rotocols-in-wi Revisa también este bug. Ahí hay soluciones que te ayudarán: https://quality.embarcadero.com/browse/RSP-31406 |
Muchas gracias German.
Aun no he podido probarlo en un pc con W7 pero apenas pueda, comento como me fue. Saludos !! |
La franja horaria es GMT +2. Ahora son las 21:00:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi