Пример #1
0
        public static SessionCreateRQService Create()
        {
            SessionCreateRQService serviceObj = new SessionCreateRQService();
            SessionCreateRS        resp       = new SessionCreateRS();

            try
            {
                // Set user information, including security credentials and the IPCC.
                string username = "******";
                string password = "******";
                string ipcc     = "4REG";
                string domain   = "DEFAULT";



                Security security = new Security();
                SecurityUsernameToken securityUserToken = new SecurityUsernameToken();
                securityUserToken.Username     = username;
                securityUserToken.Password     = password;
                securityUserToken.Organization = ipcc;
                securityUserToken.Domain       = domain;
                security.UsernameToken         = securityUserToken;


                SessionCreateRQ          req    = new SessionCreateRQ();
                SessionCreateRQPOS       pos    = new SessionCreateRQPOS();
                SessionCreateRQPOSSource source = new SessionCreateRQPOSSource();
                source.PseudoCityCode = ipcc;
                pos.Source            = source;
                req.POS = pos;


                serviceObj.MessageHeaderValue = Get("SessionCreateRQ", "SessionCreate");
                serviceObj.SecurityValue      = security;


                resp = serviceObj.SessionCreateRQ(req);
            }
            catch (Exception e)
            {
                throw new Exception(e.InnerException.ToString());
            }

            return(serviceObj);
        }
 /// <summary>
 /// Calls this instance.
 /// </summary>
 public void Call()
 {
     try
     {
         var createRequestSession = new SessionCreateRQ
         {
             POS =
                 new SessionCreateRQPOS
             {
                 Source = new SessionCreateRQPOSSource
                 {
                     PseudoCityCode = VolarisResources.PseudoCodeCity
                 }
             }
         };
         var service = new SessionCreateRQService
         {
             MessageHeaderValue = this.GetMessageHeader(),
             SecurityValue      = this.GetSecurityHeader(),
         };
         Serializer.Serialize("SessionCreateRQ", createRequestSession);
         var response = service.SessionCreateRQ(createRequestSession);
         Serializer.Serialize("SessionCreateRS", response);
         if (response.Errors != null)
         {
             Success      = false;
             ErrorMessage = "No se pudo establecer una enlace con volaris, verifique que tenga acceso a internet, en caso de persistir el problema reportarlo a soporte tecnico.";
             return;
         }
         this.SecurityToken  = service.SecurityValue.BinarySecurityToken;
         this.ConversationID = service.MessageHeaderValue.ConversationId;
         Success             = true;
     }
     catch (SoapException soapException)
     {
         var ed = soapException;
         Success      = false;
         ErrorMessage = "No se pudo establecer una enlace con volaris, verifique que tenga acceso a internet, en caso de persistir el problema reportarlo a soporte tecnico.";
     }
 }
Пример #3
0
        /// <summary>
        /// Creates a new session asynchronously.
        /// </summary>
        /// <param name="conversationId">The conversation identifier.</param>
        /// <returns>The SOAP result containing the SessionCreate response.</returns>
        public async Task <SoapResult <SessionCreateRS> > CreateSessionAsync(string conversationId)
        {
            SessionCreateRQ        request = this.soapServiceFactory.CreateSessionCreateRequest();
            SessionCreateRQService service = this.soapServiceFactory.CreateSessionCreateService(conversationId);

            // This is an asynchronous SOAP call.
            // We need to convert event-based asynchrous call to task-based one.
            // The event is triggered when the action is completed.
            // Then it sets the result and ends the task.
            var source = new TaskCompletionSource <SoapResult <SessionCreateRS> >();

            service.SessionCreateRQCompleted += (s, e) =>
            {
                if (SoapHelper.HandleErrors(e, source))
                {
                    source.TrySetResult(SoapResult <SessionCreateRS> .Success(e.Result, service.SecurityValue));
                }
            };
            service.SessionCreateRQAsync(request);

            // Return the asynchronous task.
            return(await source.Task);
        }
        public string getSesion(VO_SessionCreateRQ vo_SessionCreateRQ)
        {
            string        strSession  = null;
            MessageHeader oMensaje    = clsSabreBase.SessionCreateRQ();
            clsParametros cParametros = new clsParametros();

            if (oMensaje != null)
            {
                string Usuario_ = vo_SessionCreateRQ.StrUsuario;
                string Clave_   = vo_SessionCreateRQ.StrClave;
                string IPCC_    = vo_SessionCreateRQ.StrIpcc;
                string PCC_     = vo_SessionCreateRQ.StrPcc;
                string Dominio_ = vo_SessionCreateRQ.StrDominio;

                Security Seguridad_ = new Security();
                SecurityUsernameToken SeguridadUsuario_ = new SecurityUsernameToken();

                SeguridadUsuario_.Username     = Usuario_;
                SeguridadUsuario_.Password     = Clave_;
                SeguridadUsuario_.Organization = IPCC_;
                SeguridadUsuario_.Domain       = Dominio_;
                Seguridad_.UsernameToken       = SeguridadUsuario_;

                SessionCreateRQ.SessionCreateRQ CrearSesion_ = new SessionCreateRQ.SessionCreateRQ();
                SessionCreateRQPOS       CrearSesionPos_     = new SessionCreateRQPOS();
                SessionCreateRQPOSSource CrearSesionSource_  = new SessionCreateRQPOSSource();

                CrearSesionSource_.PseudoCityCode = PCC_;
                CrearSesionPos_.Source            = CrearSesionSource_;
                CrearSesion_.POS = CrearSesionPos_;

                SessionCreateRQService CrearSesionServicio_ = new SessionCreateRQService();

                CrearSesionServicio_.MessageHeaderValue = oMensaje;
                CrearSesionServicio_.SecurityValue      = Seguridad_;

                SessionCreateRS SessionResultado_ = CrearSesionServicio_.SessionCreateRQ(CrearSesion_);

                if (SessionResultado_.Errors != null)
                {
                    string sMensaje    = clsValidaciones.GetKeyOrAdd("sMensajeSesionSabre", "En este momento hay mas de 2000 personas consultado nuestras Promociones!!!");
                    string sSugerencia = clsValidaciones.GetKeyOrAdd("sSugerenciaSesionSabre", "Por favor intente de nuevo en 5 minutos!!!");
                    /*SI OCURRE UNA EXCEPCION CUALQUIERA*/
                    cParametros.Id          = 0;
                    cParametros.Message     = SessionResultado_.Errors.Error.ErrorMessage;
                    cParametros.Info        = SessionResultado_.Errors.Error.ErrorInfo.Message;
                    cParametros.Code        = SessionResultado_.Errors.Error.ErrorCode;
                    cParametros.Complemento = "Error al abrir la sesion de sabre";
                    cParametros.Severity    = SessionResultado_.Errors.Error.Severity;
                    cParametros.Tipo        = clsTipoError.WebServices;
                    cParametros.ViewMessage.Add(sMensaje);
                    cParametros.Sugerencia.Add(sSugerencia);
                    clsSesiones.setParametrosError(cParametros);
                    ExceptionHandled.Publicar(cParametros);
                    clsValidaciones.RedirectPagina("ErrorBusqueda.aspx", true);
                }
                else
                {
                    Seguridad_ = CrearSesionServicio_.SecurityValue;
                    strSession = Seguridad_.BinarySecurityToken;

                    cParametros.Id       = 1;
                    cParametros.TipoLog  = Enum_Error.Transac;
                    cParametros.Message  = "Cerrar Sesion";
                    cParametros.Metodo   = "_Cerrar Sesion";
                    cParametros.Tipo     = clsTipoError.WebServices;
                    cParametros.Severity = clsSeveridad.Moderada;
                    try
                    {
                        clsCache cCache = new csCache().cCache();
                        if (cCache != null)
                        {
                            cParametros.Source = "Sesion Local: " + cCache.SessionID.ToString();
                        }
                        else
                        {
                            cParametros.Source = "Sesion Local: No hay cache ";
                        }
                    }
                    catch
                    {
                        cParametros.Source = "Sesion Local: Error ";
                    }
                    ExceptionHandled.Publicar(cParametros);
                    cParametros.TipoLog = Enum_Error.Log;
                }
            }
            return(strSession);
        }