Configuration d'une file d'attente de réponses permanente pour des services Web utilisant SOAP sur JMS

Lors de l'utilisation de communications de services Web bidirectionnelles via le protocole de norme industrielle SOAP sur JMS, vous pouvez bénéficier de la configuration d'une file d'attente de réponses permanente sur un client de services Web JAX-WS (Java™ API for XML Web Services) ou JAX-RPC (Java API for XML-based RPC). Une file d'attente de réponses permanente permet d'améliorer les performances car elle évite au client de devoir créer une file d'attente de réponses temporaire à chaque appel de demande de services Web.

Pourquoi et quand exécuter cette tâche

La configuration d'une file d'attente de réponses permanente peut s'effectuer sur le client de services Web selon l'une des méthodes suivantes :
  • Spécifiez la propriété facultative replyToName dans l'URL de noeud final JMS.
  • Définissez une file d'attente de réponses à l'aide d'un programme .
    • Pour un client de services Web JAX-WS, définissez le nom JNDI de la file d'attente de réponses à l'aide d'un programme sur l'objet RequestContext du client. La définition du nom JNDI de la file d'attente de réponses sur l'objet RequestContext affecte toutes les demandes suivantes appelées via un objet RequestContext.
    • Pour un client de service Web JAX-RPC, définissez le nom JNDI de la file d'attente de réponses à l'aide d'un programme sur l'objet Stub ou Call du client. La définition du nom JNDI de la file d'attente de réponses comme propriété Stub ou Call affecte toutes les demandes suivantes effectuées via un objet Stub ou Call.
  • Définissez la file d'attente de réponses comme une propriété système de la machine virtuelle Java (JVM). La configuration de la file d'attente de réponses comme propriété système de la JVM affecte tous vos clients de services Web qui s'exécutent dans la machine virtuelle Java en question. Si plusieurs clients sont exécutés sur la même machine virtuelle Java et nécessitent l'utilisation d'une file d'attente de réponses différente, dans ce cas, cette option ne fonctionne pas. Au lieu de cela, utilisez l'une des deux autres options.

Pour configurer la file d'attente de réponses permanente en utilisant l'une de ces options, seule la configuration côté client est nécessaire. Aucune configuration n'est nécessaire pour le fournisseur de services Web.

Utilisez les fonctions d'administration normales du fournisseur de messagerie JMS pour créer la file d'attente de réponses permanente avant de configurer la file d'attente de réponses avec le client de services Web.

Procédure

Configurez le nom JNDI de la file d'attente de réponses permanente à l'aide de l'une des méthodes suivantes :
  • Spécifiez la propriété facultative replyToName dans l'URL de noeud final JMS, par exemple :
    jms:jndi:jms/MyRequestQueue&jndiConnectionFactoryName=jms/MyCF&replyToName=jms/MyReplyQueue
  • Définissez une file d'attente de réponses sur le client à l'aide d'un programme.
    La valeur de la propriété est une chaîne et représente le nom JNDI de la file d'attente de réponses.
    • Pour des clients de services Web JAX-WS, définissez la propriété com.ibm.wsspi.webservices.Constants.JMS_REPLY_QUEUE_JNDI_NAME sur l'objet JAX-WS RequestContext du client, par exemple :
      ((BindingProvider) port).getRequestContext().put
      (com.ibm.wsspi.webservices.Constants.JMS_REPLY_QUEUE_JNDI_NAME, "jms/MyReplyQueue");
    • Pour des clients de services Web JAX-RPC, définissez la propriété com.ibm.wsspi.webservices.Constants.JMS_REPLY_QUEUE_JNDI_NAME sur l'objet Stub ou Call JAX-RPC du client, par exemple :
      ((javax.xml.rpc.Stub) stub)._setProperty(com.ibm.wsspi.webservices.Constants.JMS_REPLY_QUEUE_JNDI_NAME, 
      "jms/MyReplyQueue"); 
  • Définissez le nom JNDI de la file d'attente de réponses en tant que propriété système de la JVM.
    • Pour un appel client Java, entrez le code suivant à l'invite de commande :
      java -Dcom.ibm.websphere.webservices.JMSReplyQueueJndiName=jms/MyReplyQueue
    • Pour une machine virtuelle Java s'exécutant sur le serveur d'applications, effectuez les opérations suivantes :
      • A l'aide de la console d'administration, définissez une propriété système JVM pour le serveur d'applications qui exécute l'application client du service Web.

        Pour définir des propriétés personnalisées, connectez-vous à la console d'administration et accédez à l'écran des propriétés personnalisées de la machine virtuelle Java.

        1. Cliquez sur Serveurs > Types de serveur > Serveurs d'applications WebSphere > nom_serveur> Gestion des processus et Java > Définition des processus > Machine virtuelle Java > Propriétés personnalisées > Nouveau.
        2. Définissez la propriété Nom sur : com.ibm.websphere.webservices.JMSReplyQueueJndiName.
        3. Définissez la propriété Valeur sur : jms/Permanent_Q
        4. Cliquez sur OK pour enregistrer vos modifications.
        5. Cliquez sur Synchroniser les modifications avec les noeuds, puis sur Sauvegarder.
        6. Redémarrez le serveur d'applications.

Résultats

Votre client de services Web peut désormais recevoir des messages SOAP sur JMS à partir d'une file d'attente de réponses permanente.


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



Icône d'horodatage Dernière mise à jour: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jmspermreplystd
Nom du fichier : twbs_jmspermreplystd.html