public static void MostrarVersion() { Microsoft.VisualBasic.ApplicationServices.ApplicationBase MyApplication = new Microsoft.VisualBasic.ApplicationServices.ApplicationBase(); Console.WriteLine("Aplicacion : {0}", MyApplication.Info.AssemblyName); Console.WriteLine("Version : {0}", Convert.ToString(MyApplication.Info.Version)); Console.WriteLine("Descripcion: {0}", MyApplication.Info.Description); }
/// <summary> /// Explica el uso del comando /// </summary> /// <remarks></remarks> public static void ExplicarUso() { Microsoft.VisualBasic.ApplicationServices.ApplicationBase MyApplication = new Microsoft.VisualBasic.ApplicationServices.ApplicationBase(); Console.WriteLine(""); Console.WriteLine("Uso: {0} (opciones) ...", MyApplication.Info.AssemblyName); Console.WriteLine(""); Console.WriteLine("opciones:"); Console.WriteLine(" -s servicio ID del servicio de negocio"); Console.WriteLine(" Valor por defecto: " + DEFAULT_SERVICIO); Console.WriteLine(" -c certificado Ruta del certificado (con clave privada)"); Console.WriteLine(" Valor por defecto: " + DEFAULT_CERTSIGNER); Console.WriteLine(" -w url URL del WSDL del WSAA"); Console.WriteLine(" Valor por defecto: " + DEFAULT_URLWSAAWSDL); Console.WriteLine(" -v on|off Reportes detallados de la ejecución"); Console.WriteLine(" -? Esta ayuda"); }
/// <summary> /// Funcion Main (consola) /// </summary> /// <param name="args">Argumentos de linea de comandos</param> /// <returns>0 si terminó bien, valores negativos si hubieron errores</returns> /// <remarks></remarks> public static int Main(string[] args) { MostrarVersion(); string strUrlWsaaWsdl = DEFAULT_URLWSAAWSDL; string strIdServicioNegocio = DEFAULT_SERVICIO; string strRutaCertSigner = DEFAULT_CERTSIGNER; bool blnVerboseMode = DEFAULT_VERBOSE; // Analizo argumentos de linea de comandos if (args.Length == 0) { ExplicarUso(); return(-1); } for (int i = 0; i <= args.Length - 1; i++) { string argumento; argumento = args[i]; if (String.Compare(argumento, "-w", true) == 0) { if (args.Length < (i + 2)) { Console.WriteLine("Error: no se especificó la URL del WSDL del WSAA"); return(-1); } else { strUrlWsaaWsdl = args[i + 1]; i = i + 1; } } else if (String.Compare(argumento, "-s", true) == 0) { if (args.Length < (i + 2)) { Console.WriteLine("Error: no se especificó el ID del servicio de negocio"); return(-1); } else { strIdServicioNegocio = args[i + 1]; i = i + 1; } } else if (String.Compare(argumento, "-c", true) == 0) { if (args.Length < (i + 2)) { Console.WriteLine("Error: no se especificó ruta del certificado firmante"); return(-1); } else { strRutaCertSigner = args[i + 1]; i = i + 1; } } else if (String.Compare(argumento, "-v", true) == 0) { if (args.Length < (i + 2)) { Console.WriteLine("Error: no se especificó modo: on|off"); return(-1); } else { blnVerboseMode = (String.Compare(args[i + 1], "on", true) == 0 ? true : false); i = i + 1; } } else if (String.Compare(argumento, "-?", true) == 0) { ExplicarUso(); return(0); } else { Microsoft.VisualBasic.ApplicationServices.ApplicationBase MyApplication = new Microsoft.VisualBasic.ApplicationServices.ApplicationBase(); Console.WriteLine("Error: argumento desconocido: {0}", argumento); Console.WriteLine("Para obtener ayuda: {0} -?", MyApplication.Info.AssemblyName); return(-2); } } // Argumentos OK, entonces procesar normalmente... LoginTicket objTicketRespuesta; string strTicketRespuesta; try { if (blnVerboseMode) { Console.WriteLine("***Servicio a acceder: {0}", strIdServicioNegocio); Console.WriteLine("***URL del WSAA: {0}", strUrlWsaaWsdl); Console.WriteLine("***Ruta del certificado: {0}", strRutaCertSigner); Console.WriteLine("***Modo verbose: {0}", blnVerboseMode); } objTicketRespuesta = new LoginTicket(); if (blnVerboseMode) { Console.WriteLine("***Accediendo a {0}", strUrlWsaaWsdl); } strTicketRespuesta = objTicketRespuesta.ObtenerLoginTicketResponse(strIdServicioNegocio, strUrlWsaaWsdl, strRutaCertSigner, blnVerboseMode); if (blnVerboseMode) { Console.WriteLine("***CONTENIDO DEL TICKET RESPUESTA:"); Console.WriteLine(" Token: {0}", objTicketRespuesta.Token); Console.WriteLine(" Sign: {0}", objTicketRespuesta.Sign); Console.WriteLine(" GenerationTime: {0}", Convert.ToString(objTicketRespuesta.GenerationTime)); Console.WriteLine(" ExpirationTime: {0}", Convert.ToString(objTicketRespuesta.ExpirationTime)); Console.WriteLine(" Service: {0}", objTicketRespuesta.Service); Console.WriteLine(" UniqueID: {0}", Convert.ToString(objTicketRespuesta.UniqueId)); } } catch (Exception excepcionAlObtenerTicket) { Console.WriteLine("***EXCEPCION AL OBTENER TICKET:"); Console.WriteLine(excepcionAlObtenerTicket.Message); return(-10); } return(0); }