[8.5.5.4 ou ultérieure]

Ajour de gestionnaires globaux des services Web

Les composants qui doivent enregistrer des gestionnaires de services Web auprès de tous les noeuds finaux de services Web doivent implémenter l'interface Handler et enregistrer cette implémentation dans le registre de services.

Avant de commencer

Le service de gestionnaire global est fourni par jaxws-2.2, jaxrs-1.1, Référentiel Liberty[8.5.5.6 ou ultérieure]jaxrs-2.0 ou jaxrs-2.0 client, vous devez donc indiquer la fonction ou la combinaison de fonctions dans votre fichier server.xml :
  • jaxws-2.2
  • jaxrs-1.1
  • Référentiel Liberty[8.5.5.6 ou ultérieure]jaxrs-2.0
  • Référentiel Liberty[8.5.5.6 ou ultérieure]client jaxrs-2.0
  • jaxws-2.2 et jaxrs-1.1
  • Référentiel Liberty[8.5.5.6 ou ultérieure]jaxws-2.2 et jaxrs-2.0
  • Référentiel Liberty[8.5.5.6 ou ultérieure]jaxws-2.2 et client jaxrs-2.0

Pourquoi et quand exécuter cette tâche

L'interface Handler SPI fournit différentes propriétés pour indiquer les éléments ENGINE_TYPE, FLOW_TYPE, ainsi que le côté client (IS_CLIENT_SIDE) ou le côté serveur (IS_SERVER_SIDE) où les gestionnaires s'appliquent.

Vous devez implémenter l'interface Handler et enregistrer la classe d'implémentation dans le registre de services.

La documentation d'API Java pour chaque interface SPI de profil Liberty est disponible dans un fichier comprimé distinct dans l'un des sous-répertoires Javadoc du répertoire ${wlp.install.dir}/dev.

Déploiement du bundle gestionnaire

Vous pouvez déployer le bundle gestionnaire à l'aide de WebSphere Application Server Developer Tools for Eclipse .

Procédure

  1. Cliquez sur Fichier > Nouveau > Autre, puis développez OSGi.
  2. Clique sur OSGi Bundle Project et sur Next. La fenêtre New OSGi Bundle Project s'affiche.
  3. Entrez MyHandler comme nom du projet. Dans la liste Target runtime, sélectionnez WebSphere Application Server Liberty Profile. S'il n'existe aucune exécution, cliquez sur New Runtime afin de créer une exécution du profil Liberty de WebSphere(r) Application Server.
  4. Désélectionnez le rapport Add bundle to application.
  5. Cliquez sur Next deux fois et accédez à la page OSGi Bundle.
  6. Dans la page OSGi Bundle, sélectionnez Generate an activator, a Java class that controls the life cycle of the bundle. Conservez la valeur myhandler.Activator  pour Activator name et cliquez sur Finish.
  7. Cliquez sur Window > Preferences > Plug-in Development > Target Platform et sélectionnez WebSphere Application Server Liberty Profile with SPI .
    Remarque : Assurez-vous d'avoir ajouté l'exécution du profil Liberty de WebSphere Application Server dans 3.
  8. Cliquez sur Apply et sur OK.
  9. Développez MyHandler > BundleContent > META-INF et ouvrez le fichier MANIFEST.MF à l'aide de l'éditeur de manifeste de plug-in.
  10. Créez les classes MyHander et MyActivitor :
    ...
    import com.ibm.wsspi.webservices.handler.Handler;
    ...
    
    public class MyHandler implements Handler {
        ...
        public void handleFault(GlobalHandlerMessageContext arg0) {
            ...
        }
        public void handleMessage(GlobalHandlerMessageContext msgctxt) throws Exception {
    
            if (msgctxt.getFlowType().equalsIgnoreCase(HandlerConstants.FLOW_TYPE_OUT)) {
                }
            ...
         }
         ....
    }
    public class MyActivator implements BundleActivator {
        ...
        public void start(BundleContext context) throws Exception {
    
              final Hashtable<String, Object> handlerProps = new Hashtable<String, Object>();
               handlerProps.put(HandlerConstants.ENGINE_TYPE, HandlerConstants.ENGINE_TYPE_JAXWS);
               handlerProps.put(HandlerConstants.FLOW_TYPE, HandlerConstants.FLOW_TYPE_IN);
               handlerProps.put(HandlerConstants.IS_CLIENT_SIDE, true);
               handlerProps.put(HandlerConstants.IS_SERVER_SIDE, true);
               handlerProps.put(org.osgi.framework.Constants.SERVICE_RANKING, 3);
               MyHandler myHandler = new MyHandler();
               context.registerService(Handler.class, myHandler, handlerProps);
               ...
            }
            ...
       }
  11. Cliquez sur Fichier > Nouveau > Autre, puis développez OSGi.
  12. Cliquez sur Liberty Feature Project, puis sur Next. La fenêtre Liberty Feature Project s'affiche.
  13. Indiquez MyHandlerFeature comme nom du projet.
  14. Dans la liste Target runtime, sélectionnez WebSphere Application Server Liberty Profile et cliquez sur Next. La page OSGi Bundles Selection s'affiche.
  15. Dans la page OSGi Bundles Selection, sélectionnez MyHandler 1.0.0 pour Contained Bundles et cliquez sur Finish.
  16. Modifiez Manifest:MyHandler dans le projet MyHandler. Cliquez sur l'onglet MANIFEST.MF et ajoutez com.ibm.wsspi.webservices.handler dans l'élément Import-pacakge.
  17. Cliquez avec le bouton droit sur le projet MyHandlerFeature, cliquez sur Install Feature afin d'installer la fonction dans l'exécution Liberty.
  18. Editez le fichier server.xml pour activer MyHandlerFeature :
    <featureManager> ......
    <feature>jsp-2.2</feature>
    <feature>jaxws-2.2</feature> // you can also use one of
    the following feature or feature combinations: jaxrs-1.1, jaxrs-2.0,
    jaxrsClient-2.0, 
    jaxws-2.2 and jaxrs-1.1, jaxws-2.2 and jaxrs-2.0, jaxws-2.2 and
    jaxrsClient-2.0
    <feature>usr:MyHandlerFeature</feature> ......
    </featureManager>

Icône indiquant le type de rubrique Rubrique Tâche

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_web_services_global_handlers
Nom du fichier : twlp_web_services_global_handlers.html