Plateforme existante

Le message reçu n'est pas une instance de message texte: < classe ou interface > < nom qualifié complet de la classe >

Problème

Le consommateur JMS de IBM Sterling® Order Management Système attend un message texte dans le corps du message et lorsqu'il rencontre un type de message différent comme ByteMessage, ObjectMessage, MapMessage ou StreamMessage, il génère une erreur dans le format suivant :
Le message reçu n'est pas une instance de message texte: < classe ou interface > < nom qualifié complet de la classe >
Par exemple, IBM Sterling Order Management System génère l'erreur suivante :
Le message reçu n'est pas une instance d'un message texte: interface javax.jms.BytesMessage
lorsqu'il rencontre un ByteMessage dans la file d'attente JMS.

La solution

Lorsque le consommateur JMS rencontre le problème décrit précédemment, les informations suivantes sont également imprimées avec le message d'erreur:
  • ID message-Il identifie de manière unique chaque message envoyé par un fournisseur.
  • Objet de destination de ce message-Nom de la file d'attente.
  • Horodatage du message-Il s'agit de l'heure à laquelle un message à envoyer est transmis à un fournisseur.
  • ID de corrélation du message-Il s'agit de l'ID de message spécifique au fournisseur ou de la valeur de chaîne spécifique à l'application.
  • Valeur DeliveryMode spécifiée pour ce message-Il peut s'agir de PERSISTENT (Valeur = 1) ou de NON_PERSISTENT (Valeur = 2). Il s'agit de types énumérés, des valeurs entières sont affichées.
  • Identificateur de type de message fourni par le client lors de l'envoi du message.

Evaluez ou triez ces détails, identifiez la source du message et effectuez des ajustements dans l'outil d'envoi de message correspondant pour envoyer un TextMessage dans le corps du message.