Configurar los servicios de transporte utilizados para un mensaje
Utilice los siguientes métodos genéricos del mandato SendMsgCmd para configurar los servicios de transporte utilizados para el mensaje:
Estos métodos genéricos del mandato SendMsgCmd permite al usuario configurar los servicios de transporte utilizados para el mensaje. El parámetro key hace referencia al nombre de administración que se utiliza para identificar el atributo que se ha de cambiar. El parámetro value es el valor que se ha de asignar. La invocación de estos métodos hace que los valores especificados aquí alteren los valores asignados en la consola de administración. El último método permite establecer datos de configuración sensibles al idioma nativo. Consulte la tabla siguiente que contiene los transportes predeterminados disponibles para el sistema de mensajería y los atributos aplicables a cada uno.
language
representa el LANGUAGE_ID que se encuentra en la tabla LANGUAGE. Por ejemplo, el campo subject de la tabla siguiente. Consulte el método addMember para conocer una manera alternativa de establecer destinatarios de correo electrónico. Consulte la API para obtener información sobre la clase Messaging.Atributos de configuración
La tabla siguiente muestra cómo se puede utilizar el parámetro key
para configurar el mensaje. Los transportes por omisión disponibles en el sistema de mensajería utilizan los atributos listados en la tabla.
- Si el transporte que desea utilizar no está en la lista, puede desarrollar el suyo propio, siguiendo los ejemplos del tema Adaptador de ejemplo.
- Las claves de atributo son sensibles a las mayúsculas y minúsculas
- Para direcciones de correo electrónico:
-
- Varias direcciones se deben separar mediante una coma.
- Las direcciones de correo electrónico de internet RFC 822 que contienen espacios se deben escribir entre comillas dobles. Por ejemplo, "My company<myco@mycompany.com>".
- Todos los nombres de colas JMS y el nombre de fábrica de conexión de cola deben corresponderse con los nombres de cola y los nombres de fábrica de conexión de cola definidos en la Consola de administración de WebSphere Application Server.
Ver las propiedades sustituidas
- Abra la Consola de administración y seleccione Sitio en la página Selección de sitio/tienda desde la Consola de administración.
- Vaya a .
- Seleccione el transporte deseado con el estado Entrega como
Pending
. - Pulse Buscar.
- Pulse el ID de mensaje del último mensaje en la última página.
- Las propiedades sustituidas, junto con otras propiedades, se muestran en la parte superior de la página.
Transporte | Clave de atributo | Descripción: |
---|---|---|
Adaptador de correo electrónico | username | Nombre de usuario utilizado para iniciar la sesión en el servidor SMTP. Nota: Una vez que se ha especificado el nombre de usuario, se necesita una conexión SSL al servidor SMTP. |
Contraseña | Contraseña asignada para autenticar el uso de servidor SMTP. | |
subject | Asunto del correo electrónico. Puede especificar un asunto para cada entorno local. Nota: Nota: Si el sistema no utiliza un asunto personalizado, puede haber un valor predeterminado configurado para el mandato de envío de correo electrónico. Utilice la sentencia siguiente para buscar la entrada y eliminarla:
|
|
recipient | Dirección de correo electrónico de los destinatarios. | |
remitente | Dirección de correo electrónico del remitente. | |
host | Especifique el nombre de host completo o la dirección IP del servidor SMTP que se utiliza para enviar el mensaje. | |
protocol | Protocolo utilizado para conectar con el host de correo. | |
port | Puerto SMTP utilizado para enviar el mensaje. (En la mayoría de los sistemas es el puerto 25) | |
retryDuration | Especifique el periodo en horas durante el cual desea reintentar la conexión al servidor sin reducir el número de reintentos. | |
sendPartial | Comportamiento si hay direcciones de correo electrónicas no válidas para varios destinatarios. Este valor será true (verdadero) si el correo electrónico se envía de todos modos aunque algunas direcciones de correo electrónico no sean válidas. El valor será false (falso) si el correo electrónico no se envía si hay direcciones no válidas. Nota: Esta propiedad depende del servidor SMTP. Es responsabilidad exclusiva del servidor SMTP observar este distintivo. |
|
contentType | El tipo de contenido, por ejemplo text/plain o text/html . El valor predeterminado es text/plain. |
|
BCC | Dirección o direcciones de correo electrónico a las que desea enviar una copia oculta. | |
CC | Dirección o direcciones de correo electrónico a las que desea enviar una copia carbón. | |
replyTo | Dirección de respuesta para el correo electrónico. | |
Adaptador de archivo | location | La ubicación del archivo que se ha de grabar. |
FileName | El nombre del archivo que se ha de grabar. | |
mode | El tipo de operación de grabación que se ha de realizar.
|
|
Adaptador para IBM MQ | factory | Especifique el nombre JMS de la fábrica de conexiones de cola. |
inQueue | Cola de entrada que se utiliza para recibir mensajes de respuesta cuando se utiliza el servicio de envío sendReceiveImmediate (mediante algunos mandatos). | |
errorQueue | Especifique el nombre JMS de la cola de errores en la que se ponen los mensajes que no se han podido procesar. | |
outQueue | Especifique el nombre JMS de la cola de salida, donde se colocan los mensajes de salida. | |
timeOut | Especifique el periodo de tiempo, en segundos, durante el cual desea que el sistema de mensajería espere una respuesta si se especifica la modalidad de envío/recepción (modalidad = 1). Si no se recibe ninguna respuesta en el periodo de tiempo especificado, el sistema devuelve un mensaje nulo. El valor predeterminado es 60 segundos. | |
mode | Modalidad del mensaje de salida que se maneja. El valor predeterminado es 0, que es sólo salida. Este valor debe utilizarse con el servicio de envío sendImmediate. Si se utiliza 1, el mandato invocador utiliza el servicio de envío sendReceiveImmediate y el mandato espera un mensaje de respuesta hasta que se alcanza "timeOut". De lo contrario, el valor timeOut no se utilizará. | |
JMSExpiration | Tiempo, en segundos, a partir de la hora de envío de un mensaje, que el proveedor de servicio JMS de destino debe mantener dicho mensaje antes de eliminarlo de la cola. El valor predeterminado de 0 implica que el mensaje no caduca y se conservará hasta que lo elimine una aplicación JMS. | |
JMSPriority | La prioridad del mensaje. Los rangos de valor 0 a 9, donde 9 es el más urgente. El valor predeterminado es 4. | |
JMSDeliveryMode | Especifica la modalidad de entrega del mensaje. El mensaje se entrega en modalidad persistente cuando el valor se ha establecido en 2 y se entrega en modalidad no persistente cuando el valor se ha establecido en 1. el valor predeterminado depende de la cola. Cuando el mensaje se envía en modalidad persistente, el mensaje continuará en el servidor MQ y estará disponible al reiniciar. Para obtener más información, consulte la documentación del proveedor de JMS. | |
JMSHeaderPropertyN (donde N es un identificador exclusivo arbitrario, por ejemplo, 1, 2, 3) | Campos especiales utilizados para almacenar información de cabecera específicos del proveedor. Si es necesario más de una JMSHeaderProperty, debe añadirse un dígito exclusivo u otro identificador al final del atributo "Admin" del nodo EditableProperty (por ejemplo, de JMSHeaderProperty1 a JMSHeaderPropertyN). | |
Conector HTTP y Servicio Web sobre Conectores HTTP | URL | El URL al que debe transportarse el mensaje |
contentType | El tipo de contenido del mensaje | |
userName | El nombre de usuario que se debe utilizar para la autenticación. Para los servicios web sobre HTTP, es el nombre de usuario para el servicio web. | |
Contraseña | La contraseña que se debe utilizar para la autenticación. Para los servicios web sobre HTTP, es la contraseña para el servicio web. | |
errorLifeExpectancy | Como característica de este conector específico, si se produce una excepción cuando ejecuta la solicitud basada en las propiedades de conexión, este conector espera este tiempo especificado (en segundos) antes de permitir que se ejecute de nuevo la misma solicitud. Esto impide que el sistema de fondo quede desbordado con una serie de peticiones cuando no está disponible o no responde. Se capturan determinadas excepciones de comunicación y se les asigna este valor de tiempo de espera. Cuando se realizan solicitudes basadas en la misma información de conexión, se genera la excepción almacenada en memoria caché en lugar de ejecutar la solicitud. Una vez transcurrido el tiempo de espera, la solicitud se ejecutará de la forma usual. El propósito de ello es proporcionar al llamante una excepción y, al mismo tiempo, evitar realizar peticiones repetidas a un sistema de fondo que no responde en ese momento. | |
connectTimeout | El tiempo de espera, en segundos, para configurar una conexión con el URL. No especifique un valor o especifique 0 si desea un período de tiempo de espera infinito. | |
readTimeout | El tiempo de espera, en segundos, al leer corrientes de entrada cuando se establece una conexión a un URL. No especifique un valor o especifique 0 si desea un período de tiempo de espera infinito. | |
Servicio web sobre conector JMS | factory | El nombre de la fábrica de conexiones de cola JMS. |
inQueue | Cola de entrada que se utiliza para recibir mensajes de respuesta cuando se utiliza el servicio de envío sendReceiveImmediate (mediante algunos mandatos). | |
errorQueue | Especifique el nombre JMS de la cola de errores en la que se ponen los mensajes que no se han podido procesar. | |
outQueue | La cola de salida donde se colocan los mensajes de salida. | |
userName | El nombre de usuario que se debe utilizar para la autenticación básica. | |
Contraseña | La contraseña que se debe utilizar para la autenticación básica. | |
timeOut | El valor de tiempo de espera (en segundos) utilizado para esperar un mensaje de respuesta opcional de un sistema externo. El valor predeterminado es 60. | |
mode | La modalidad del mensaje de salida que se maneja. El valor predeterminado es 0, que es sólo salida. Este valor debe utilizarse con el servicio de envío sendImmediate. Si se utiliza 1, el mandato invocador utiliza el servicio de envío sendReceiveImmediate y el mandato espera un mensaje de respuesta hasta que se alcanza "timeOut". De lo contrario, el valor timeOut no se utilizará. | |
JMSExpiration | Tiempo, en segundos, a partir de la hora de envío de un mensaje, que el proveedor de servicio JMS de destino debe mantener dicho mensaje antes de eliminarlo de la cola. El valor predeterminado de 0 implica que el mensaje no caduca y se conservará hasta que lo elimine una aplicación JMS. | |
JMSPriority | La prioridad del mensaje. Los rangos de valor 0 a 9, donde 9 es el más urgente. El valor predeterminado es 4. | |
JMSDeliveryMode | Especifica la modalidad de entrega del mensaje. El mensaje se entrega en modalidad persistente cuando el valor se ha establecido en 2 y se entrega en modalidad no persistente cuando el valor se ha establecido en 1. el valor predeterminado depende de la cola. Cuando el mensaje se envía en modalidad persistente, el mensaje continuará en el servidor MQ y estará disponible al reiniciar. Para obtener más información, consulte la documentación del proveedor de JMS. | |
JMSHeaderPropertyN (donde N es un identificador exclusivo arbitrario, por ejemplo, 1, 2, 3) | Campos especiales que se utilizan para almacenar información de cabecera específica de proveedor. Si es necesario más de una JMSHeaderProperty, debe añadirse un dígito exclusivo u otro identificador al final del atributo "Admin" del nodo EditableProperty (por ejemplo, de JMSHeaderProperty1 a JMSHeaderPropertyN). | |
targetService | La operación de puerto que se debe llamar. Por ejemplo, "InventoryServices". Los servicios de destino pueden encontrarse en WSDL para el proveedor de servicios. |
Para establecer JMSExpiration, JMSPriority y otros campos de cabecera específicos de proveedor JMS de un mensaje JMS de salida, se deben añadir nuevos nodos EditableProperty a la definición InteractionSpec de JCAJMSInteractionSpec:
- setJMSExpiration
- setJMSPriority
- setJMSDeliveryMode
- setJMSHeaderProperty
Esta definición se encuentra debajo del OutboundConnector denominado JMS.
- Haga una copia de seguridad del HCL Commercearchivo de configuración. Si desea reservar este arreglo, tendrá que restaurar el archivo de configuración XML original.
- Añada la siguiente sección al mismo:
<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 -->
Los mensajes de salida que se envían a través de este conector tienen, de forma predeterminada, un valor de JMSExpiration de 60 segundos. Este valor puede personalizarse en la Consola de administración de cuando se asigna un tipo de mensaje al transporte MQ.
Nota: El valor especificado en el atributo Admin debe ser exclusivo en el nodo InteractionSpec. Se permiten varios elementos EditableProperty y son opcionales. Si es necesario más de una JMSHeaderProperty, debe añadirse un dígito exclusivo u otro identificador al final del atributo "Admin" del nodo EditableProperty (por ejemplo, de JMSHeaderProperty1 a JMSHeaderPropertyN). Es necesario modificar el atributo de valor con el par nombre-valor necesario. El valor en el par nombre-valor debe escribirse entre comillas simples ('). - Vuelva a asignar el tipo de mensaje al método de transporte MQ. De este modo se asegura de que los mensajes de salida que se envían bajo este tipo de mensaje tengan establecidas las correspondientes propiedades de cabecera.
Transporte | Clave de atributo | Descripción: |
---|---|---|
SMS-HTTP | APIKey | El nombre de parámetro del identificador de API. |
APIValue | El identificador de la API de servicio exclusivo asociado a la cuenta. | |
CharacterLimit | El número máximo de caracteres de un mensaje. El valor predeterminado es 160. | |
CustomParameters | Parámetros adicionales a pasar a la API HTTP. Nota: Estos parámetros de URL deben codificarse manualmente. |
|
Endpoint | La ubicación de URL de la API HTTP del servicio de telecomunicaciones. | |
MaxRecipients | El número máximo de destinatarios enviados a la pasarela en una sola solicitud. Para las pasarelas que no dan soporte al sistema de mensajería masivo, el valor debe establecerse en 1. | |
MessageKey | El nombre de parámetro del identificador de Message. | |
MessageValue | El mensaje predeterminado si no se sustituye por un archivo JSP personalizado. | |
Contraseña | La contraseña utilizada para la autenticación con el servicio. Las contraseñas se almacenan como valores cifrados utilizando la clave del comerciante. | |
PasswordKey | El nombre de parámetro del identificador de Password. | |
RecipientDelimiter | El carácter delimitador para varios destinatarios en el parámetro recipient. | |
RecipientKey | El nombre de parámetro del identificador de Recipient. | |
RecipientValue | El número de destino de los destinatarios. | |
SenderKey | El nombre de parámetro del identificador de Sender. | |
SenderValue | El nombre o número del remitente. | |
usePostMethod | Indica si se utiliza el método HTTP-POST. Si el valor es false, se utiliza el método HTTP-GET. | |
UserNameKey | El nombre de parámetro del identificador de UserName. | |
UserNameValue | La identificación de UserName para el servicio. | |
SMS-WS | CharacterLimit | El número máximo de caracteres de un mensaje. El valor predeterminado es 160. |
Endpoint | El URI del servicio de pasarela de Parlay X 3.0. | |
Mensaje | El mensaje predeterminado si no se sustituye por un archivo JSP personalizado. | |
Contraseña | La contraseña utilizada para la autenticación con el servicio. Las contraseñas se almacenan como valores cifrados utilizando la clave del comerciante. | |
Destinatario | El número de destino de los destinatarios. | |
SenderValue | El nombre o número del remitente. | |
UserNameValue | El nombre de usuario registrado de este servicio web. |
Al integrar transportes SMS en HCL Commerce:
- Las claves de atributo proporcionadas son pares nombre-valor genéricos comunes a la mayoría de servicios de pasarela que soportan la interfaz de API HTTP. Algunos de los campos proporcionados pueden ser óptimos en función de las configuraciones de servicio disponibles. El campo customParameters proporciona más opciones de personalización, aumentando la compatibilidad con varios servicios de pasarela.
- Las claves de atributo proporcionadas están codificadas por URL y son válidas su transmisión a través de una serie de URL salvo que se especifique otra cosa. De forma alternativa, el valor CustomParameters no está codificado por URL, lo que permite una mayor flexibilidad al gestionar valores personalizados. Por lo tanto, los parámetros de URL customParameters deben codificarse manualmente.
- El adaptador SMS HTTP se puede configurar para que funcione con varios servicios de pasarela de telecomunicaciones de terceros que soporten la interfaz HTTP. Las solicitudes se inician utilizando una solicitud HTTP POST, con los valores de parámetros que cumplen con la API HTTP especificada de forma individual.
- El contenido del mensaje correspondiente al parámetro MessageKey, y la dirección del destinatario correspondiente al parámetro RecipientKey se generan dinámicamente, en función del tipo de mensaje y de la identidad del cliente. Una vez que se han generado, estos campos se pasan al adaptador para la entrega del mensaje.
- RecipientDelimiter se utiliza para las pasarelas SMS que soportan mensajes masivos con las direcciones concatenadas en una lista de direcciones completa, separadas por el delimitador especificado. Esta configuración depende del manejo de la pasarela y la interpretación del delimitador. Por ejemplo, algunas pasarelas dan soporte a un punto y coma como delimitador, mientras que otras dan soporte a una coma o al carácter de barra vertical como delimitadores. Por lo tanto, este carácter no está codificado por URL.
El adaptador SMS HTTP se puede configurar para que funcione con otros servicios de pasarela de telecomunicaciones de terceros que soporten la interfaz HTTP. Un ejemplo de una pasarela de terceros que da soporte a una HTTP API es la pasarela 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
Parámetro | Valor |
---|---|
APIKey | api_id |
APIValue | someAPI |
CharacterLimit | 160 |
CustomParameters | &queue=1&concat=2 |
Endpoint | http://api.clickatell.com/http/sendmsg |
MaxRecipients | 100 |
MessageKey | text |
Contraseña | somePassword |
PasswordKey | password |
RecipientDelimiter | , |
RecipientKey | to |
SenderKey | from |
SenderValue | someSender |
UserNameKey | user |
UserNameValue | someUser |
usePostMethod | true |