domingo, 6 de junio de 2010

El usuario de una petición WS con Axis y WSS4J

Hace tiempo que andaba buscando la manera de obtener las credenciales de identificación enviadas en una petición a un Web Service.

El problema viene dado por la necesidad de asegurar el acceso a los métodos que se ofrecen por XML-RPC y posteriormente en su implementación, identificar al usuario, pero resulta que Axis 1.4 (en su configuración más.. cómoda), realiza el despliegue de un servicio a partir de un POJO especificado en el wsdd, y entonces ¿Como podemos hacer referencia al contexto del mensaje recibido?

Pues todo viene a partir de la clase MessageContext de Axis. En cualquier momento de una petición, está disponible la llamada a dicho objeto, y a su método estático getCurrentContext mediante el cual tendremos acceso al mensaje objeto de la petición realizada.

La identificación del usuario ya se realiza por parte de WSS4J, y ahora nosotros queremos asociar los datos enviados al usuario que se identificó, de forma que en estos POJO's podremos escribir el siguiente código:


String username = null;
Iterator<SOAPHeaderElement> oItHeaderEnv = MessageContext.
        getCurrentContext().getMessage().getSOAPHeader().
        examineAllHeaderElements();
while (oItHeaderEnv.hasNext()) {
    Iterator<MessageElement> oItHeaderElems = oItHeaderEnv.next().
         getChildElements();
    while (oItHeaderElems.hasNext()) {
        Iterator<MessageElement> oItParams = oItHeaderElems.next().
            getChildElements();
        while (oItParams.hasNext()) {
            MessageElement oWSSParam = oItParams.next();
            if("Username".equals(oWSSParam.getName())) {
                username = oWSSParam.getValue().trim();
                break;
            }
        }
    }
}


Este código nos permitirá acceder al nombre de usuario enviado, o a cualquier otro parámetro enviado en la cabecera Security.

Otra de las opciónes, es la implementación de sesiones de Axis, ya que en la misma PasswordCallbackClass del Handler de WSS4J, podríamos implementar el inicio de la sesión, y después recuperarla en el método ofrecido por XML-RPC, previa configuración del manejador de sesiones de Axis en el wsdd.

viernes, 4 de junio de 2010

Tendencias musicales

Estoy harto de tener que explicar que tipo de música me gusta. Por eso normalmente digo que me gusta "el heavy" porque, ¿Cómo le explicas a alguien que es para mí la buena música?. Para mí la buena música es tantas cosas que no sé...

Ciertamente me gustan las guitarras, me gusta la distorsión y he escuchado mucho "heavy", desde Pantera, a Soziedad Alkoholica, pasando por Narco, Koma o System of a Down y como no, Metallica, Iron Maiden, Helloween...

Y también me gusta el blues, mucho blues, como la primera banda con la que empecé a tocar, y también me gusta Triana, uno de los mejores grupos de rock andaluz, que se acercan al rock progresivo en algunos de sus temas, y ahí es cuando viene la sorpresa. ¿Como le explicas a alguien que te gusta el rock progresivo? ¿Cómo llega a gustarte?

Creo que para eso hay que escuchar mucha música y no a las locas, empezando por el blues de los 60, y llegar al rock (y blues) de Cream, de Jimi Hendrix, y de Led Zeppelin. Es extraño que hoy en día pocos recuerden temas como No quarter de Led Zeppelin... para la mayoría, acaban en Stairway To Heaven.



Tengo la sensación de que hoy en día la gente cree que escuchar mucha música consiste en escuchar todos los grupos nuevos que sacan "más de lo mismo", letras de amor (que pesadilla), techno, modas retro, rap... ¿Y de que te saca escuchar lo mismo por distintos grupos que se copian entre si? ¿Porque no vale con los originales? no se, a lo mejor me estoy haciendo mayor, pero tengo la sensación de que ese tipo de personas solo pretenden mencionar un grupo que no conoces para que parezca que saben más de música. Y luego resulta que no han escuchado a Leño, a Rosendo, a Los Suaves o a Barricada... pero si no conoces a los que imitan el estilo de Platero y tu, o Extremoduro, no sabes de música ¿Pero son mejores? ¿Es que aportan algo más?

¿Quieren escuchar algo realmente bueno y que nadie conoce? pues que tengan criterio, conozcan los instrumentos, y entonces podrán valorar. Porque cuando ves los conciertos de Radio 3 con cuatro mindundis vestidos de retros y haciendo tonterias con un moog, y un batería que parece un albañil, pues me da la risa. Si John Bonham levantara la cabeza... ¿Realmente saben lo que hacen? Antes hay que demostrar que eres bueno, para saber expresarte, y poder hacer algo tan fantástico como esto:



Esto es el rock sinfónico, y progresivo. Y ¿Cómo explico que me encanta el solo de batería de In-A-Gadda-Da-Vida? pues esto es lo que no puedo explicar cuando me preguntan por mis gustos musicales. Y ¿Como explico que también me gusta El Ultimo de la Fila o U2 u O'funk'illo?

Y lo más gracioso es la tendencia a creer que el rock siempre es estridente. Me gustan las guitarras así, pero también las que no lo son, como las de Fito y Fitipaldis o dentro del rock progresivo cosas como esta:



Y esque claro, se suele decir que el rock no vende, aunque el segundo disco más vendido de la historia sea de AC/DC, y poco despues uno de Meatloaf. Pero claro el rock según algunos listos, está muerto, y yo les digo... toma esto:



Por cierto, nos vemos en Córdoba en el concierto de Deep Purple, o el de Joe Bonamassa, o en Sevilla en el concierto de AC/DC!!!!

Crisis

Politicos ineptos, que solo piensan en su ombligo, que solo saben quedar bien. Y para eso enchufan a los que pueden y viven como reyes, y nos piden que les ayudemos.

Y ahora, después de que hace algún tiempo "inyectaran" dinero a los bancos, nos piden que trabajemos más, más barato, y con más facilidad para echarnos. ¿Así se arregla? Menudos "Robin Hood" a la inversa, tiene delito robarle a los pobres para pagar a los ricos.

Y nos machacan a impuestos para pagar excesos y subvenciones a quienes no colaboran con la sociedad. Pues a los que no colaboran con la sociedad, la sociedad no debería colaborar con ellos.

Y muchos nos preguntamos porqué las mejores mentes, como notarios, médicos, e ingenieros que aprueban unas oposiciones imposibles, están dirigidas por unos ineptos, sin cultura, que no han demostrado nada acerca de su aptitud para el puesto de dirigente político. ¿No debería un alcalde, un concejal y ya no digamos un ministro demostrar su valía para el puesto? Así lo hacen las mejores mentes de este país en empresa privada y pública, demostrarlo día a día, y claro... así nos vá.

Y los sindicatos... bueno... no me quiero enfadar ahora, pero.. hay que cambiar el sistema como sea. ¿Que alternativas tenemos? Ya no es tiempo de revoluciones sangrientas, y la ley electoral impide votar libremente, a las personas, no a los partidos, y además se aseguran la perpetuidad.

Nos han quitado el poder, y ahora, el espabilado del hijo de la vecina, ese tontaina que se creía superior, y que lo más cercano a la lectura que conoce es el Marca, está dirigiendo tu ciudad, y tu país, porque ha estado de fiesta con los peces gordos de su partido.

Lo malo es que las buenas personas no se meten a políticos ni a sindicalistas. Las buenas personas trabajan, todos los días, con gana y con ánimo de hacer algo, de progresar y de conseguir por su propio esfuerzo vivir en un mundo mejor cada día y los políticos no, solo en contentar a sectores de población que les voten, y seguir como cabestros los designios del partido. Ni tienen personalidad ni quieren tenerla, porque si llevan la contraria, se les echa. Es extraño que se destroce la carrera de un político que piensa por si mismo, y se defienda a políticos corruptos.

Pues así pasan estas cosas, ahora a remediarlo como siempre, incrementando desigualdades y apretando las tuercas más todavía, hasta que no podamos más. Pero, ¿Que vamos a hacer? ¿Que podemos hacer? Sinceramente, ya no se me ocurre nada.