Configuration de types de message SOAP sur JMS

Vous pouvez configurer vos messages de demande et de réponse SOAP sur JMS (Java™ Message Service) pour utiliser des objets BytesMessage ou TextMessage.

Avant de commencer

Pour être accessible via le transport JMS, le service Web doit être implémenté sous forme d'EJB (Enterprise JavaBean).

Pourquoi et quand exécuter cette tâche

Pour vos services Web qui utilisent le protocole SOAP sur JMS standard, vous pouvez configurer les demandes et les réponses SOAP sur JMS afin d'indiquer si les messages sont transmis dans les objets JMS BytesMessage (javax.jms.BytesMessage) ou TextMessage (javax.jms.TextMessage). Le type de message par défaut est BytesMessage.

Si le message JMS correspond à un objet BytesMessage, le corps du message JMS est constitué de données binaires.

Si le message JMS correspond à un objet TextMessage, le corps du message JMS est constitué de données de chaîne. Par exemple, vous pouvez configurer des messages texte si vous souhaitez implémenter une fonction d'audit ou de journalisation nécessitant des messages JMS lisibles par l'utilisateur.

Si vous utilisez SOAP sur JMS comme transport pour des messages de demande et de réponse de services Web, vous devez connaître les remarques suivantes sur les performances lorsque vous faites votre choixentre les objets BytesMessage et les objets TextMessage :
  • Utilisation de la mémoire :

    La charge dans un objet TextMessage est sous forme de chaîne ; dans la mesure où les caractères individuels sont basés sur le codage de caractères UTF-16, la charge dans un objet TextMessage risque d'utiliser deux fois plus d'octets qu'un objet BytesMessage équivalent. Pour les messages de demande et de réponse avec des charges faibles, cette différence en termes d'utilisation de la mémoire entre les objets TextMessage et BytesMessage ne sera pas nécessairement importante. En revanche, pour les charges élevées, cette différence est à prendre en compte dans le cadre de votre environnement métier.

  • Pièces jointes binaires :

    Lorsqu'un objet JMS TextMessage est utilisé pour transporter des messages de demande et de réponse, toute pièce jointe binaire incluse avec le corps du message SOAP doit être codée au format Base64, car la charge du message sous-jacente est sous forme de chaîne. Lorsque les pièces jointes binaires sont codées au format Base64, un temps de traitement et une capacité de mémoire supplémentaires sont nécessaires pour exécuter la transformation sur ces données. Ainsi, la pièce jointe binaire codée au format Base64 peut-être un tiers plus volumineuse que sa version d'origine non codée. Dans ce cas, si cette pièce jointe codée plus volumineuse est ensuite transportée dans une charge de message sous forme de chaîne, la mémoire requise pour transporter la pièce jointe binaire peut être près de trois fois supérieure à la taille de mémoire de la pièce jointe binaire non codée d'origine dans un objet BytesMessage.

Procédure

Résultats

Vous avez configuré un client de service Web de sorte qu'il utilise les objets TextMessage ou BytesMessage en cas d'utilisation du protocole SOAP sur JMS pour transmettre des messages de demande et de réponse.


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_soapjmsreqresp_msgtype
Nom du fichier : twbs_soapjmsreqresp_msgtype.html