JavaSearch : Moteur de recherche Java à jour

Tags , , , ,
12 août 2008 par Yohann CIURLIK

image

Le moteur de recherche JavaSearch de développez.com à été mis à jour. Ce moteur permet de rechercher :

  • Une classe,
  • Une méthode,
  • Un package,
  • Ou un constructeur.

La recherche se fait à travers la version 1.4.2, 5.0 et 6.0. Il inclue également la documentation Java EE 5.

La Javadoc de cette version c’est :

  • 135 packages.
  • 2723 classes.
  • 3348 constructeurs.
  • 21157 méthodes.

Il existe également un autre moteur nommé GotAPI et qui permet cette fois-ci une recherche instantannée et simultannée sur les versions Java :

image

mais également sur des API très répandues telles que :

Des outils forts pratiques pour ne pas perdre de temps dans la documentation.

Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !

[DEV] WS-Security - Username token - Client CXF

Tags , , , ,
31 juillet 2008 par Yohann CIURLIK

WS-Security permet de sécuriser facilement des web services. Il permet entre autre :

  • Une authentification par user/password (token) entre les services,
  • Un encryptage d’une partie ou de la totalité d’un message,
  • De signer des messages,
  • D’horodater des messages.

Apache CXF est un framework permettant d’implémenter les standards JAX-WS pour créer des web services en Java en se reposant sur WSS4J. Il s’intègre également avec Spring, Aegis, RESTful, et WS-*. Il est aujourd’hui dans sa version 2.1.1.

securityalert

Vous trouverez sur le wiki cxf un complément d’information et un exemple d’implémentation de WS-Security via CXF. Il existe également un exemple utilisant XWSSS avec Spring.

Une des sécurité la plus basique est celle fournie par l’authentification via Username Token.

Je vais donc vous présenter un moyen simple d’ajouter l’authentification via Username Token dans les en-têtes Soap Header de votre client web service en utilisant CXF.

1 – Le XML en entrée d’un web service contient l’en-tête sécurisé :

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <SOAP-ENV:Envelope
  3.     xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  4. <SOAP-ENV:Header>
  5. <wsse:Security xmlns:wsse="…"
  6. SOAP-ENV:mustUnderstand="1">
  7. <wsse:UsernameToken xmlns:wsu="…"
  8. wsu:Id="XWSSGID-1172860158358-935964365">
  9. <wsse:Username>user</wsse:Username>
  10. <wsse:Password Type="…#PasswordText">password</wsse:Password>
  11. </wsse:UsernameToken>
  12. </wsse:Security>
  13. </SOAP-ENV:Header>
  14. <SOAP-ENV:Body>
  15. <echoRequest
  16. xmlns="…">Hello</echoRequest>
  17. </SOAP-ENV:Body>
  18. </SOAP-ENV:Envelope>

2 – Vous pouvez ajouter facilement cette en-tête sécurisée en Java directement dans le code du client Web Service (pouvant être généré via la commande wsdl2java de CXF/Axis).

Voici un exemple de code client :

  1. WebService_Service service = new WebService_Service();
  2. WebService port = service.getPort(WebService.class);

A la suite, il suffit d’ajouter un proxy client qui va prendre en charge les en-têtes (SOAP Header) sécurisées :

  1. Client client = ClientProxy.getClient(port);
  2. Endpoint cxfEndpoint = client.getEndpoint();

Puis instancier une HashMap qui contiendra les propriétés de sécurité :

  1. Map outProps = new HashMap();

On ajoute ensuite l’intercepteur qui prendra en charge les propriétés définies :

  1. WSS4JOutInterceptor wssOut = new WSS4JOutInterceptor(outProps);
  2. cxfEndpoint.getOutInterceptors().add(wssOut);
  3. cxfEndpoint.getOutInterceptors().add(new SAAJOutInterceptor());

Et pour finir on ajoute les propriétés de sécurité (user/password) dans la HashMap :

  1. outProps.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN);
  2. // Specify our username
  3. outProps.put(WSHandlerConstants.USER, “ws-client”);
  4. // Password type : plain text
  5. //outProps.setProperty(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_TEXT);
  6. // for hashed password use:
  7. //properties.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
  8. outProps.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
  9. // Callback used to retrive password for given user.
  10. outProps.put(WSHandlerConstants.PW_CALLBACK_CLASS, ClientPasswordHandler.class.getName());

Comme vous pouvez le constater, le mot de passe n’est pas défini ici. La dernière ligne (PW_CALLBACK_CLASS) intervient alors. C’est une fonction de callback qui va se charger de l’ajout du mot de passe dans l’en-tête.

Voici donc cette fonction de callback :

  1. public class ClientPasswordHandler implements CallbackHandler {
  2.   public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
  3.     WSPasswordCallback pc = (WSPasswordCallback) callbacks[0];
  4.     // set the password for the outbound message.
  5.     pc.setPassword(”password”);
  6.   }
  7. }

Avec ce code, vos en-têtes seront générées automatiquement depuis vos clients (Java) web service.

Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !

Visualiser vos images avec PocketCM ImageViewer 0.8

Tags , , , ,
31 juillet 2008 par Yohann CIURLIK

Vous connaissez peut-être déjà PocketCM pour Windows Mobile qui permet une gestion plus simple et efficace de vos contacts. Voici maintenant, PocketCM ImageViewer 0.8 est un visualiseur d’image dans le même genre que celui fourni avec le HTC Diamond.

Cette version est actuellement en beta. Elle utilise le potentiel du framework PocketCM pour afficher les images. C’est à la fois beau et rapide.

Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !

Un utilitaire réseau pour Window Mobile

Tags , , ,
25 juin 2008 par Yohann CIURLIK

EnterpriseMobile propose un outil réseaux pour les possesseurs de pocket pc et smartphones sous Windows Mobile.

image

L’utilitaire permet de résoudre les problèmes de réseaux, de connections, d’IP via des traceroutes, pings, ping sur plage d’adresses, log, …

Windows Mobile IP Utility est disponible pour Windows Mobile 5.0 avec le compact Framework et Windows Mobile 6.0/6.1.

Pour le télécharger ça se passe par .

Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !

Jelix : Un framework PHP qui grandit

Tags , , ,
20 juin 2008 par Yohann CIURLIK

Jelix met à jour son framework PHP à la version 1.0.4 et prépare en ce moment même la 1.0.5. Cette mise à jour n’apport pas son lot de nouveautés mais corrige essentiellement des bugs qui rendent le framework de plus en plus stable.

Jelix

Jelix est un framework jeune rappelons le mais qui à déjà fait ses preuves. On lui repprochais au début sa jeunesse. C’est un framework puissant et qui monte. Ces fonctionnalités sont intéressantes et le développement via ce framework est rapide. Un projet à suivre de très près !

Cet article vous a plu ? Abonnez-vous au blog par mail ou flux RSS : vous recevrez automatiquement les nouveaux billets !


sideBarQA