public GestionDesembolsoResponse ProcesarSolicitud(GestionDesembolsoRequest notificacion)
        {
            try
            {
                string numeroTramite = notificacion.InformacionDesembolso.NumeroTramite;
                respuesta = new GestionDesembolsoResponse();
                InfoCasoDesembolso infoCasoDesembolso = consultarCasoDesembolsoPorTramite(numeroTramite);



                if (infoCasoDesembolso == null)
                {
                    // crear caso
                    respuesta = crearCasoDesembolso(notificacion);
                    return(respuesta);
                }
                else
                {
                    //valida que la estación que ejecuta la actividad sea la misma asociada en Bizagi. Si ha cambiado en Cobis, se consulta la estación en Bizagi para
                    //enviarla en el perform activity, y asi registrar la estación que realmente ejecuta la acción.
                    //PENDIENTE IMPLEMENTACIÓN
                    //if (!notificacion.InformacionEstacion.TipoIdentificacionEstacion.Codigo.Equals(infoCasoDesembolso.OidTrackingDesembolso.OidTipoDocumentoEstac.SCodigo) &&
                    //    !notificacion.InformacionEstacion.IdentificacionEstacion.Equals(infoCasoDesembolso.OidTrackingDesembolso.SIdentificacionEstacion))
                    //{
                    //    InformacionEstacionBO datosEstacion = consultarUsuariosPorID(notificacion.InformacionEstacion.TipoIdentificacionEstacion.Codigo, notificacion.InformacionEstacion.IdentificacionEstacion);
                    //}
                    // perform activity
                    return(performActivity2(notificacion, infoCasoDesembolso));
                }
            }
            catch (Exception e)
            {
                respuesta.Codigo  = Properties.Resources.ErrorTecnico;
                respuesta.Mensaje = e.Message;
            }
            return(respuesta);
        }
        /*
         * Andres Alberto Yepes
         * 06-01-2017
         * ***************************************************************************************************************
         * función encargada de realizar el perform activity. como base utiliza xslt para realizar la transformación de la información
         * recibida en la fachada a la estructura esperada por Bizagi de acuerdo al modelo de datos del proceso. No tiene acoplamiento
         * con la estructura del proceso, mas allá que a través de la xslt recibida anteriormente. Utiliza una clase generica para realizar
         * el perform activity funcionando como un DTO.
         *
         * */
        private GestionDesembolsoResponse performActivity2(GestionDesembolsoRequest notificacion, InfoCasoDesembolso casoDesembolsoConsultado)
        {
            XmlDocument request = SerializerManager.SerializarToXmlDocument <GestionDesembolsoRequest>(notificacion);

            HUB.BizagiSOAObjects.PeformActivityGeneric.BizAgiWSParam             param    = new HUB.BizagiSOAObjects.PeformActivityGeneric.BizAgiWSParam();
            HUB.BizagiSOAObjects.PeformActivityGeneric.BizAgiWSParamActivityData activity = new HUB.BizagiSOAObjects.PeformActivityGeneric.BizAgiWSParamActivityData();

            activity.idCase   = casoDesembolsoConsultado.OidTrackingDesembolso.IIdCaso;
            activity.taskName = casoDesembolsoConsultado.OidTrackingDesembolso.OidActividadEspera.STaskName;
            param.domain      = Properties.Resources.DominioFNA;
            param.userName    = casoDesembolsoConsultado.OidTrackingDesembolso.SNombreUsuarioEstacion;

            param.ActivityData = activity;
            BizagiSOALayerOperations <HUB.BizagiSOAObjects.PeformActivityGeneric.BizAgiWSParam> ejecutar = new BizagiSOALayerOperations <HUB.BizagiSOAObjects.PeformActivityGeneric.BizAgiWSParam>();

            ejecutar.Url = ProxyUtils.GetServiceEndpoint("URLWorkFlowEngine");
            string      xmlParam    = SerializerManager.SerializarToXml(param);
            XmlDocument paramDocXML = new XmlDocument();

            paramDocXML.LoadXml(xmlParam);
            XPathNavigator navigatorParam = paramDocXML.CreateNavigator();

            //transforma el request en un xml con la definición de esquema del proceso en Bizagi
            string      xmlEntities    = XMLOperations.XSLTransformation(casoDesembolsoConsultado.OidTrackingDesembolso.OidActividadEspera.STransformacion, request);
            XmlDocument docEntitiesXml = new XmlDocument();

            docEntitiesXml.LoadXml(xmlEntities);
            XPathNavigator navEntities = docEntitiesXml.CreateNavigator();

            //crea el nodo de entities
            navigatorParam.MoveToChild("BizAgiWSParam", String.Empty);
            navigatorParam.AppendChild("<Entities></Entities>");
            navigatorParam.MoveToChild("Entities", String.Empty);
            //inserta en el nodo entities el xml con el xml transformado por la xslt
            navigatorParam.AppendChild(docEntitiesXml.OuterXml);

            processes performResp = ejecutar.performActivity(paramDocXML.OuterXml);

            return(getRespuestaBO(performResp, EnumSOALayerAction.PerformActivity));
        }