WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Mensajes MIME

Un mensaje MIME consta de datos y metadatos. Los metadatos MIME constan de cabeceras de estilo HTTP y de delimitadores de límite MIME.

Cabeceras MIME

Cada cabecera es una pareja de nombre-valor separada por un signo de dos puntos en una línea. La secuencia ASCII <CR><LF> termina la línea. Una secuencia de estas cabeceras, denominada bloque de cabecera, se termina con una línea en blanco: <CR><LF><CR><LF>. Las cabeceras que están en este estilo HTTP pueden aparecer en un documento MIME. Algunas cabeceras MIME comunes se describen en Campos de cabeceras MIME estándar.

Content-Type

La única cabecera que debe estar presente es la cabecera Content-Type. Esta cabecera especifica el tipo de los datos del mensaje. Si el valor de Content-Type empieza por "multipart", el mensaje es un mensaje MIME de varias partes. Para mensajes de varias partes, la cabecera Content-Type también debe incluir un atributo de límite que proporcione el texto utilizado para delimitar las partes del mensaje. Cada parte MIME tiene su propio campo Content-Type que especifica el tipo de datos de la parte. Éste también puede ser de varias partes, lo cual permite que se aniden mensajes de varias partes. Las partes MIME con cualquier otro valor de Content-Type se manejan como datos BLOB.

Si se envía un documento MIME a través de HTTP, la cabecera Content-Type aparece en el bloque de cabecera HTTP en lugar de aparecer en el cuerpo de mensaje MIME. Por esta razón, el intermediario maneja el valor de la cabecera Content-Type como la propiedad ContentType de la carpeta Propiedades del árbol lógico. Esto permite al analizador MIME obtener el valor de Content-Type para un documento MIME que se reciba a través de HTTP. Si necesita crear un nuevo árbol MIME o modificar el valor de Content-Type, establezca el valor de Content-Type utilizando la propiedad ContentType en el dominio MIME. Si establece el valor de Content-Type directamente en el árbol MIME o el árbol HTTP, es posible que este valor se ignore o se utilice de forma no coherente. El ESQL siguiente es un ejemplo de cómo establecer la propiedad ContentType de intermediario:
SET OutputRoot.Properties.ContentType = 'text/plain';

Análisis

El dominio MIME no impone la especificación MIME completa. Por tanto, puede trabajar con mensajes que es posible que no sean válidos en otras aplicaciones. Por ejemplo, el analizador MIME no insiste en una cabecera MIME-Version. El analizador MIME impone las restricciones siguientes:
  • Las cabeceras MIME deben estar formateadas correctamente:
    • Cada cabecera es una pareja de nombre-valor separada por dos puntos, en una línea propia, terminada por la secuencia ASCII <CR><LF>.
    • La línea de cabecera debe utilizar ASCII de 7 bits.
    • Se utilizan signos de punto y coma para separar los parámetros:
      Content-Type: Multipart/Related; boundary=MIME_boundary; type=text/xml
    • Una cabecera puede incluir un comentario entre paréntesis, por ejemplo:
      MIME-Version: 1.0 (Generado por XYZ)
  • Una línea que empieza con un espacio en blanco se trata como una continuación de la línea anterior. Por tanto, una cabecera larga puede dividirse en más de una línea.
  • Si dos o más cabeceras de un bloque de cabecera tienen el mismo nombre, los valores se concatenan en una lista, separados por comas.
  • Tiene que haber disponible una cabecera MIME Content-Type de nivel superior. La cabecera no es sensible a las mayúsculas y minúsculas. Si el transporte es HTTP, se utiliza cualquier valor Content-Type de la cabecera HTTP como Content-Type de nivel superior. Si el transporte no es HTTP, Content-Type debe aparecer en el bloque de cabecera inicial del mensaje MIME.
  • El valor Content-Type es un tipo de contenido seguido del carácter / y de un subtipo. text/xml y multipart/related son ejemplos de ello. El analizador no valida los subtipos. El valor Content-Type puede ir seguido de uno o varios parámetros separados por un punto y coma.
  • Si el tipo de contenido de un mensaje es "multipart" (varias partes), un atributo de límite debe proporcionar el texto que se utiliza para delimitar las partes MIME independientes.
  • Cada parte MIME individual puede tener su propia cabecera Content-Type. La cabecera de parte (part) puede tener un tipo de contenido de varias partes, de forma que se puedan anidar mensajes de varias partes. En este caso, se debe proporcionar un atributo de límite válido y el valor debe ser diferente de cualquier valor que se haya definido anteriormente en el mensaje. Las partes MIME que tienen cualquier otro valor de Content-Type se manejan como datos BLOB.
  • Los delimitadores de límite de varias partes MIME se representan en ASCII de 7 bits. El delimitador de límite consta de una línea que empieza con un par de guiones, seguidos de una serie de caracteres de límite. Esta secuencia no se debe producir dentro del mensaje MIME en ningún otro punto que no sea un límite. Un delimitador final MIME es un par de guiones, seguidos de la serie de caracteres de límite MIME, seguida de un par de guiones adicional. Todas las líneas delimitadoras deben finalizar en la secuencia ASCII <CR><LF>. Un ejemplo de un mensaje delimitado es:
    --límite_MIME
    datos de mensaje
    --límite_MIME
    datos de mensaje
    --límite_MIME--
    donde límite_MIME es la serie de caracteres delimitadora de límite y datos de mensaje representa los datos del mensaje.
  • El tipo de contenido MIME message no se soporta y produce un error en la ejecución.
  • Los datos de preámbulo (el texto entre el bloque de cabecera MIME inicial y el primer delimitador de límite) o los datos de epílogo (el texto después del delimitador de límite final) se almacenan en el árbol lógico como un elemento de sólo valor. Los datos de preámbulo y los datos de epílogo sólo pueden aparecer como el primero y el último hijo, respectivamente, de un nodo Parts.
  • El analizador MIME no da soporte al análisis a petición e ignora la propiedad Temporización del análisis. El analizador no valida los mensajes MIME con un modelo de mensaje e ignora la propiedad Validar de WebSphere Message Broker Toolkit.

Casos especiales de MIME de varias partes

El analizador MIME está pensado principalmente para su uso con mensajes MIME de varias partes. Sin embargo, el analizador también maneja algunos casos especiales:
  • MIME de varias partes con una sola parte. El árbol lógico para la parte MIME guarda el tipo de contenido (Content-Type) y otra información como es habitual, pero el elemento de datos (Data) para el adjunto está vacío.
  • MIME de una sola parte. Para MIME de una sola parte, el árbol lógico no tiene ningún hijo Parts. El último hijo del árbol MIME es el elemento Data. El elemento Data es el padre del BLOB que contiene los datos de mensaje.
  • Partes MIME sin contenido.

MIME seguro (S/MIME)

S/MIME es un estándar para enviar mensajes de correo electrónico seguros. S/MIME tiene un Content-Type de nivel externo de multipart/signed con los parámetros protocol y micalg que definen los algoritmos que se utilizan para cifrar el mensaje. Una o más partes MIME pueden tener contenido cifrado. Estas partes tienen valores Content-Type tales como application/pkcs7-signature y una cabecera Content-Transfer-Encoding de base64. El dominio MIME no intenta interpretar o verificar si el mensaje está firmado.

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:58:35


Tema de conceptoTema de concepto | Versión 8.0.0.5 | ac30080_