Configuration des services de transport utilisés pour les messages
Utilisez les méthodes génériques de la commande SendMsgCmd pour configurer les services de transport utilises pour les messages.
Ces méthodes génériques de la commande SendMsgCmd permettent à l'utilisateur de configurer les services de transport utilisés pour les messages. Le paramètre key fait référence au nom administratif servant à identifier l'attribut à modifier. Le paramètre value est la valeur à affecter. L'appel de ces méthodes va substituer les valeurs définies ici à celles de la console d'administration. La dernière méthode permet de définir la configuration des données en fonction de la langue. Reportez-vous au tableau ci-dessous contenant les transports par défaut disponibles pour le système de messagerie, et les attributs qui s'appliquent à chacun.
language représente l'attribut LANGUAGE_ID du tableau LANGUAGE. Voir par exemple l'attribut subject dans le tableau ci-dessous. La méthode addMember constitue une autre manière de définir des destinataires du courrier électronique. Voir l'API pour en savoir plus sur la classe de messagerie.Attributs de configuration
Le tableau ci-dessous montre comment le paramètre key peut être utilisé pour configurer les messages. Les transports par défaut disponibles pour le système de messagerie utilisent les attributs du tableau qui suit.
- Si vous ne souhaitez utiliser aucun des transports de la liste, vous pouvez en développer un en vous fondant sur les exemples de la rubrique Exemple d'adaptateur.
- Les clés d'attribut sont sensibles à la casse
- Pour les adresses électroniques :
-
- Les adresses doivent être séparées par une virgule.
- Conformément à la norme RFC 822, les adresses e-mail sur Internet contenant des espaces doivent être encadrées par des guillemets. Par exemple, "société<nom@masociété.com".
- Tous les noms de file d'attente JMS et les noms de fabrique de connexion de files d'attente doivent correspondre avec les noms des files d'attente et des fabriques de connexion de files d'attente définis dans la console d'administration de WebSphere Application Server.
Affichage des propriétés remplacées
- Ouvrez la console d'administration et sélectionnez Site dans la page Console d'administration - Sélection de site/magasin.
- Accédez à .
- Sélectionnez le transport de votre choix dont le statut d'envoi est
Pending. - Cliquez sur Rechercher.
- Cliquez sur l'ID de message du dernier message de la dernière page.
- Les propriétés remplacées sont affichées, avec les autres propriétés, en haut de la page.
| Transport | Clé d'attribut | Description |
|---|---|---|
| Adaptateur de messagerie | nom utilisateur | Nom d'utilisateur pour la connexion au serveur SMTP. Remarque : Une fois que le nom d'utilisateur est indiqué, la connexion SSL au serveur SMTP est requise. |
| mot_de_passe | Mot de passe pour authentifier l'utilisation du serveur SMTP. | |
| subject | Objet de l'e-mail. Vous pouvez préciser un objet par environnement local. Remarque : Remarque : Si un objet personnalisé n'est pas utilisé par le système, il peut y avoir une configuration par défaut pour la commande d'envoi d'e-mail. Utilisez l'instruction suivante pour rechercher l'entrée et la supprimer : |
|
| recipient | Adresse e-mail des destinataires. | |
| expéditeur | Adresse e-mail de l'expéditeur. | |
| hôte | Nom d'hôte qualifié complet ou adresse IP du serveur SMTP utilisé pour l'envoi des messages. | |
| protocole | Protocole de connexion à l'hôte de messagerie. | |
| port | Port SMTP utilisé pour l'envoi du message. (25 dans la plupart des systèmes) | |
| retryDuration | Indiquez la période (en nombre d'heures) pendant laquelle la tentative de connexion au serveur doit être renouvelée sans diminuer le nombre de tentatives. | |
| sendPartial | Comportement au cas où il y a plusieurs destinataires et certaines adresses e-mails non valides. Cette valeur est true si le courrier électronique est envoyé en dépit du fait que certaines adresses sont non valides. La valeur est false si l'e-mail n'est pas envoyé du tout. Remarque : Cette propriété dépend du serveur SMTP. Il est de sa seule responsabilité de prendre en compte cet indicateur. |
|
| contentType | Type de contenu, par exemple text/plain ou text/html. La valeur par défaut est texte/normal. |
|
| BCC | Adresse(s) e-mail pour envoi d'une copie masquée du message. | |
| CC | Adresse(s) e-mail pour envoi d'une copie du message. | |
| replyTo | L'adresse de réponse à l'e-mail. | |
| Adaptateur de fichier | location | Emplacement du fichier cible de l'écriture. |
| Nom du fichier | Nom du fichier cible de l'écriture. | |
| mode | Type d'écriture.
|
|
| Adaptateur pour IBM MQ | factory | Indiquez le nom JMS de la fabrique de connexion de files d'attente. |
| inQueue | File d'attente entrante pour la réception des messages de réponse lorsque le service d'envoi sendReceiveImmediate est utilisé (par certaines commandes). | |
| errorQueue | Indiquez le nom JMS de la file d'attente d'erreur, qui contient les messages n'ayant pas pu être traités. | |
| outQueue | Indique le nom JMS de la file de sortie dans laquelle des messages sortants sont placés. | |
| timeOut | Indiquez le délai, en secondes, pendant lequel le système de messagerie doit attendre une réponse si le mode Envoi/Réception (mode = 1) a été spécifié. Si aucune réponse n'est reçue au cours du délai spécifié, le système renvoie un message Null. La valeur par défaut est de 60 secondes. | |
| mode | Mode de traitement du message sortant. La valeur par défaut est 0, ce qui limite le traitement à la sortie du message. Ce mode doit être utilisé avec le service d'envoi sendImmediate. Si la valeur est 1, le service d'envoi sendReceiveImmediate est utilisé par l'appel de la commande, puis la commande attend une réponse jusqu'à la fin du délai défini par "timeOut". Sinon, la valeur de timeOut n'est pas utilisée. | |
| JMSExpiration | Délai, en secondes, à compter de l'heure d'envoi d'un message pendant lequel le fournisseur de service JMS cible doit le conserver avant de le supprimer d'une file d'attente. La valeur par défaut 0 implique que le message ne sera pas conservé jusqu'à sa suppression par une application JMS. | |
| JMSPriority | Priorité du message. Cette valeur varie de 0 à 9, 9 étant le plus urgent. La valeur par défaut est 4. | |
| JMSDeliveryMode | Mode d'envoi du message. Le message est envoyé en mode permanent si la valeur est 2, et en mode non permanent si la valeur est 1. La valeur par défaut dépend de la file d'attente. Les messages envoyés en mode permanent restent sur le serveur MQ et sont disponibles au redémarrage. Pour plus d'informations, reportez-vous à la documentation du fournisseur JMS. | |
| JMSHeaderPropertyN (où N est un identificateur unique arbitraire, par exemple 1, 2, 3...) | Zones spéciales utilisées pour stocker des informations d'en-tête spécifiques au fournisseur. Si plusieurs JMSHeaderProperty sont nécessaires, un chiffre unique ou un autre identificateur doit être ajouté à la fin de l'attribut "Admin" du nœud EditableProperty (par exemple, de JMSHeaderProperty 1 à JMSHeaderPropertyN). | |
| Connecteur HTTP et services Web sur connecteurs HTTP | URL | URL de destination du message |
| contentType | Type de contenu du message | |
| userName | Nom d'utilisateur pour l'authentification. Pour HTTP sur services Web, c'est le nom d'utilisateur des services Web. | |
| mot_de_passe | Mot de passe pour l'authentification. Pour HTTP sur services Web, c'est le mot de passe pour les services Web. | |
| errorLifeExpectancy | Ce connecteur possède une caractéristique qui lui est propre : lorsqu'une exception se produit lorsqu'il exécute la requête en fonction des propriétés de la connexion, le connecteur attend cette durée spécifiée (en secondes) avant d'autoriser l'exécution de la même requête. Cela évite de submerger le système d'arrière-plan de demandes s'il n'est pas disponible ou ne répond pas. Certaines exceptions de communication sont interceptées et un délai d'attente de cette durée leur est attribué. Si une nouvelle demande basée sur les mêmes informations de connexion est émise, l'exception mise en cache est lancée et la requête n'est pas exécutée. Une fois le délai d'attente expiré, la requête est émise normalement. Le but de ce mécanisme est de fournir une exception à l'appelant tout en évitant l'envoi répété de demandes à un système d'arrière-plan temporairement indisponible. | |
| connectTimeout | Délai d'expiration, en secondes, pour configurer une connexion à l'URL. Ne spécifiez pas de valeur, ou spécifiez 0 si vous souhaitez un délai d'expiration infini. | |
| readTimeout | Délai d'expiration, en secondes, lors de la lecture à partir des flux d'entrée lorsqu'une connexion à une URL est établie. Ne spécifiez pas de valeur, ou spécifiez 0 si vous souhaitez un délai d'expiration infini. | |
| Connecteur Service Web sur JMS | factory | Nom de la fabrique de connexions de file d'attente JMS. |
| inQueue | File d'attente entrante pour la réception des messages de réponse lorsque le service d'envoi sendReceiveImmediate est utilisé (par certaines commandes). | |
| errorQueue | Indiquez le nom JMS de la file d'attente d'erreur, qui contient les messages n'ayant pas pu être traités. | |
| outQueue | File d'attente sortante dans laquelle sont mis les messages sortants. | |
| userName | Nom d'utilisateur pour l'authentification de base. | |
| mot_de_passe | Mot de passe pour l'authentification de base. | |
| timeOut | Délai d'attente (en secondes) d'un éventuel message de réponse de la part d'un système externe. La valeur par défaut est 60. | |
| mode | Mode de traitement du message sortant. La valeur par défaut est 0, ce qui limite le traitement à la sortie du message. Ce mode doit être utilisé avec le service d'envoi sendImmediate. Si la valeur est 1, le service d'envoi sendReceiveImmediate est utilisé par l'appel de la commande, puis la commande attend une réponse jusqu'à la fin du délai défini par "timeOut". Sinon, la valeur de timeOut n'est pas utilisée. | |
| JMSExpiration | Délai, en secondes, à compter de l'heure d'envoi d'un message pendant lequel le fournisseur de service JMS cible doit le conserver avant de le supprimer d'une file d'attente. La valeur par défaut 0 implique que le message ne sera pas conservé jusqu'à sa suppression par une application JMS. | |
| JMSPriority | Priorité du message. Cette valeur varie de 0 à 9, 9 étant le plus urgent. La valeur par défaut est 4. | |
| JMSDeliveryMode | Mode d'envoi du message. Le message est envoyé en mode permanent si la valeur est 2, et en mode non permanent si la valeur est 1. La valeur par défaut dépend de la file d'attente. Les messages envoyés en mode permanent restent sur le serveur MQ et sont disponibles au redémarrage. Pour plus d'informations, reportez-vous à la documentation du fournisseur JMS. | |
| JMSHeaderPropertyN (où N est un identificateur unique arbitraire, par exemple 1, 2, 3...) | Zones spéciales utilisées pour stocker des informations d'en-tête spécifiques au fournisseur. Si plusieurs JMSHeaderProperty sont nécessaires, un chiffre unique ou un autre identificateur doit être ajouté à la fin de l'attribut "Admin" du nœud EditableProperty (par exemple, de JMSHeaderProperty 1 à JMSHeaderPropertyN). | |
| targetService | Opération de port à appeler. Par exemple, "InventoryServices". On peut trouver les services cible dans le WSDL du fournisseur de services. |
Pour définir les zones JMSExpiration, JMSPriority et les autres zones d'en-tête spécifiques au fournisseur JMS d'un message JMS sortant, des nœuds EditableProperty supplémentaires doivent être ajoutés à la définition InteractionSpec de JCAJMSInteractionSpec :
- setJMSExpiration
- setJMSPriority
- setJMSDeliveryMode
- setJMSHeaderProperty
Cette définition se trouve sous le paramètre OutboundConnector JMS.
- Sauvegardez votre HCL Commerce fichier de configuration. Dans le cas où vous voudriez annuler ce correctif, vous auriez besoin de restaurer le fichier XML original de configuration.
- Ajoutez-y la section suivante :
<OutboundConnector default="true" id="3" name="JMS" retries="3"> <JNDI JndiName="eis/JCAJMS" display="false" /> ...<InteractionSpec ClassName="com.ibm.commerce.messaging.adapters.jcajms.JCAJMSInteractionSpec" default="true"> ...<EditableProperty Admin="JMSExpiration" display="false" editable="Yes" name="setJMSExpiration" value="60" /><EditableProperty Admin="JMSPriority" display="false" editable="Yes" name="setJMSPriority" value="4" /> <!-- the value ranges from 0 to 9. The default value is 4. --><EditableProperty Admin="JMSDeliveryMode" display="false" editable="Yes" name="setJMSDeliveryMode" value="2" /> <!-- the value is 2 for persistent, 1 for non-persistent --><EditableProperty Admin="JMSHeaderProperty1" display="false" editable="Yes" name="setJMSHeaderProperty" value="JMS_IBM_MsgType='2'" /> <!-- sample value only --><EditableProperty Admin="JMSHeaderPropertyN" display="false" editable="Yes" name="setJMSHeaderProperty" value="JMS_IBM_Format='IBM JMS'" /><!-- sample value only -->Tous les messages sortants passant par ce connecteur ont par défaut une valeur de 60 secondes pour JMSExpiration. Cette valeur est personnalisable dans la console d'administration lorsqu'un type de message est affecté au transport MQ Transport.
Remarque : La valeur de l'attribut Admin doit être unique dans le nœud InteractionSpec. On peut, si nécessaires, avoir plusieurs éléments EditableProperty. Si plusieurs JMSHeaderProperty sont nécessaires, un chiffre unique ou un autre identificateur doit être ajouté à la fin de l'attribut "Admin" du nœud EditableProperty (par exemple, de JMSHeaderProperty 1 à JMSHeaderPropertyN). Vous devez modifier la valeur de l'attribut avec la paire nom-valeur requise. La valeur à l'intérieur de la paire nom-valeur doit être mise entre deux apostrophes ('). - Affectez à nouveau le type de message à la méthode de transport MQ. Cette opération garantit que les messages sortants de ce type contiendront le jeu de propriétés d'en-tête correspondant.
| Transport | Clé d'attribut | Description |
|---|---|---|
| SMS-HTTP | APIKey | Nom du paramètre de l'identificateur d'API. |
| APIValue | Unique identificateur d'API de service associé au compte. | |
| CharacterLimit | Nombre maximal de caractères d'un message. La valeur par défaut est 160. | |
| CustomParameters | Paramètres supplémentaires à transmettre à l'API HTTP. Remarque : Ces paramètres d'URL doivent être codés manuellement. |
|
| Noeud final | Emplacement de l'URL de l'API HTTP du service de télécommunication. | |
| MaxRecipients | Nombre maximal de destinataires envoyés à la passerelle en une seule demande. Pour les passerelles qui ne prennent pas en charge l'envoi en masse des messages, la valeur doit être 1. | |
| MessageKey | Nom du paramètre de l'identificateur du message. | |
| MessageValue | Message par défaut s'il n'est pas remplacé par un fichier JSP personnalisé. | |
| Mot de passe | Mot de passe pour l'authentification au service. Les mots de passe sont stockés sous forme d'une valeur chiffrée par la clé du commerçant. | |
| PasswordKey | Nom du paramètre de l'identificateur du mot de passe. | |
| RecipientDelimiter | Délimiteur entre les destinataires du paramètre recipient. | |
| RecipientKey | Nom du paramètre de l'identificateur du destinataire. | |
| RecipientValue | Numéro de destination du ou des destinataires. | |
| SenderKey | Nom du paramètre de l'identificateur de l'expéditeur. | |
| SenderValue | Nom ou numéro de l'expéditeur. | |
| usePostMethod | Indique si la méthode HTTP-POST est utilisée. Si la valeur est false, la méthode HTTP-GET est utilisée. | |
| UserNameKey | Nom du paramètre de l'identificateur du nom d'utilisateur. | |
| UserNameValue | Nom d'utilisateur du service. | |
| SMS-WS | CharacterLimit | Nombre maximal de caractères d'un message. La valeur par défaut est 160. |
| Endpoint | URI du service de passerelle Parlay X 3.0. | |
| Message | Message par défaut s'il n'est pas remplacé par un fichier JSP personnalisé. | |
| Mot de passe | Mot de passe pour l'authentification au service. Les mots de passe sont stockés sous forme d'une valeur chiffrée par la clé du commerçant. | |
| Destinataire | Numéro de destination du ou des destinataires. | |
| SenderValue | Nom ou numéro de l'expéditeur. | |
| UserNameValue | Nom d'utilisateur enregistré de ce service Web. |
Lorsque vous intégrez les transports SMS dans HCL Commerce :
- Les clés d'attribut fournies sont des paires nom-valeur génériques communes à la plupart des services de passerelle prenant en charge l'interface API HTTP. Certaines des zones fournies peuvent être facultatives en fonction des configurations de service disponibles et variables. La zone customParameters offre des options de personnalisation supplémentaires, ce qui accroît la compatibilité avec les services de passerelle.
- Les clés d'attribut fournies sont des URL codées valides pour une transmission par chaîne URL, sauf indication contraire. D'un autre côté, la valeur de CustomParameters n'est pas une URL codée, ce qui offre une plus grande flexibilité dans la gestion des valeurs personnalisées. C'est pourquoi les paramètres d'URL de customParameters doivent être codés manuellement.
- L'adaptateur HTTP SMS peut être configuré pour fonctionner avec différents services de passerelle de télécommunication fournis par des tiers, prenant en charge l'interface HTTP. Les demandes sont initialisées à l'aide d'une requête POST HTTP, les valeurs des paramètres respectant l'API HTTP spécifiée individuellement.
- Le contenu du message correspondant au paramètre MessageKey, et l'adresse du destinataire correspondant au paramètre RecipientKey, sont générés dynamiquement en fonction du type de message et de l'identité du client. Une fois générées, ces zones sont transmises à l'adaptateur pour l'envoi du message.
- Le paramètre RecipientDelimiter est utilisé pour les passerelles SMS qui prennent en charge l'envoi en masse de messages contenant des adresses concaténées sous la forme d'une liste complète et séparées par le délimiteur défini. Cette configuration dépend de la façon dont la passerelle traite et interprète le délimiteur. Par exemple, certaines passerelles acceptent le point-virgule comme délimiteur, alors que d'autres acceptent la virgule ou la barre verticale. C'est pourquoi ce caractère n'est pas codé pour les URL.
L'adaptateur HTTP SMS peut être configuré pour fonctionner avec d'autres services de passerelle de télécommunication fournis par des tiers, prenant en charge l'interface HTTP. Un exemple de passerelle fournie par un tiers et prenant en charge une API HTTP est la passerelle Clickatell.
http://api.clickatell.com/http/sendmsg?api_id=someAPI&user=someUser&password=somePassword&to=5552221234,5552225678,5552220987&from=someSender&text=This+is+some+message+from+the+SMS+HTTP+adapter&queue=1&concat=2
| Paramètre | Valeur |
|---|---|
| APIKey | api_id |
| APIValue | someAPI |
| CharacterLimit | 160 |
| CustomParameters | &queue=1&concat=2 |
| Noeud final | http://api.clickatell.com/http/sendmsg |
| MaxRecipients | 100 |
| MessageKey | text |
| Mot de passe | somePassword |
| PasswordKey | password |
| RecipientDelimiter | , |
| RecipientKey | to |
| SenderKey | from |
| SenderValue | someSender |
| UserNameKey | user |
| UserNameValue | someUser |
| usePostMethod | true |