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

Nodo SOAPExtract

Utilice el nodo SOAPExtract para eliminar los sobres SOAP, permitiendo tan sólo que se procese el cuerpo de un mensaje SOAP. También puede direccionar un mensaje SOAP basándose en su nombre de operación. Las dos funciones son opcionales. Están contenidas en un nodo porque generalmente se utilizan conjuntamente.

Este tema contiene las siguientes secciones:

Finalidad

El nodo SOAPExtract puede realizar dos funciones:

Función Extract
El comportamiento predeterminado es separar el sobre SOAP en una ubicación estándar ($LocalEnvironment/SOAP/Envelope) del árbol LocalEnvironment. Alternativamente, puede especificar una ubicación explícita mediante una expresión XPath. Cualquier sobre SOAP que exista en la ubicación seleccionada se sustituirá.
Función Direccionamiento
El mensaje SOAP se direcciona a un nodo Label dentro del flujo de mensajes como identifica la operación SOAP contenida en el mensaje. La operación SOAP se identifica dentro del código del cuerpo SOAP.

Asegúrese de que las opciones del analizador de mensajes de la carpeta de propiedades del mensaje de salida se hayan configurado correctamente para analizar el mensaje, copiando el conjunto de mensajes y el formato de mensaje del mensaje de entrada. El tipo de mensaje se deriva del primer hijo del cuerpo del mensaje del sobre SOAP.

Sólo se da soporte a un único hijo del cuerpo del mensaje SOAP.

El nodo SOAPExtract está contenido en el cajón de la paleta de Servicios web y se representa en el área de trabajo mediante el icono siguiente:

Icono de nodo Filter

Utilización del nodo SOAPExtract en un flujo de mensajes

Consulte el ejemplo siguiente para ver cómo se debe utilizar este nodo:

Puede ver información sobre los ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit o el Information Center en línea. Puede ejecutar ejemplos sólo cuando utilice el Information Center que está integrado en WebSphere Message Broker Toolkit.

Configuración del nodo SOAPExtract

Cuando haya colocado una instancia del nodo SOAPExtract en un flujo de mensajes, podrá configurarlo; consulte el tema Configurar un nodo de flujo de mensajes. Las propiedades del nodo se muestran en la vista Propiedades.

  1. Opcional: En el separador Descripción, escriba una descripción corta, una Descripción larga o ambas cosas. En este separador también puede renombrar el nodo.
  2. En el separador Básicas:
    1. En Eliminar sobre especifique si el nodo debe eliminar el sobre SOAP y colocarlo en la ubicación especificada en Destino del sobre o dejarlo en el mensaje. El valor predeterminado es que el nodo elimine el sobre.
    2. En Destino del sobre, especifique una expresión XPath que represente el destino en el que se copiará el sobre. De forma predeterminada, el nodo copia el sobre en LocalEnvironment ($LocalEnvironment/SOAP/Envelope).
    3. En Modalidad de vía de acceso de destino, especifique el comportamiento de la propiedad Destino del sobre.
      • Crear vía de acceso: El nodo crea el árbol si la vía de acceso especifica una ubicación que aún no existe. Sólo se da soporte a expresiones sencillas con el formato aaa/bbb/ccc en Destino del sobre. Es el valor predeterminado.
      • Ubicación XPath del elemento existente: Si sabe que el elemento de destino existe, puede utilizar cualquier expresión XPath 1.0 válida en Destino del sobre.
    4. En Ruta a etiqueta 'operación' , especifique si el nodo debe direccionar el mensaje a la operación SOAP especificada en el mensaje. El valor predeterminado es que el nodo envíe el mensaje al terminal de salida.
    5. En Prefijo de etiqueta, escriba el valor del prefijo de la etiqueta que utilizará el nodo para el direccionamiento. Si especifica un prefijo permite el espaciado de nombres entre subflujos. De forma predeterminada, el nombre de la etiqueta no lleva ningún prefijo para el direccionamiento del mensaje.

Analizadores soportados

Esto está diseñado para trabajar con los mensajes SOAP. Utilice uno de los analizadores siguientes:
  • SOAP
  • XMLNSC
  • MRM
  • XMLNS
Otros analizadores XML no están soportados porque no dan soporte a los espacios de nombres. Se genera una excepción si se recibe un mensaje que no utiliza el analizador correcto o que no se ajusta a la estructura básica de un mensaje SOAP.

La validación completa no se lleva a cabo en el mensaje SOAP, que simplemente necesita contener un elemento de cuerpo.

Terminales y propiedades

En la tabla siguiente se describen los terminales del nodo SOAPExtract:

Terminal Descripción
Entrada El terminal de entrada que acepta un mensaje SOAP para que lo procese el nodo.
De salida El terminal de salida que efectúa la salida del cuerpo del mensaje SOAP (sin el sobre si se ha seleccionado el recuadro de selección Eliminar sobre en las propiedades del nodo).
De anomalías El terminal de salida al que se dirige un mensaje si se ha detectado una anomalía durante su proceso.

Las tablas siguientes describen las propiedades del nodo. La columna con la cabecera O indica si la propiedad es obligatoria (marcada con un asterisco si tiene que entrar un valor cuando no hay definido ningún valor predeterminado); la columna con la cabecera C indica si la propiedad es configurable (puede cambiar el valor cuando añade el flujo de mensajes al archivo BAR para desplegarlo).

En la tabla siguiente se describen las propiedades de descripción del nodo SOAPExtract.

Propiedad M C Valor predeterminado Descripción
Nombre de nodo No No El tipo de nodo El nombre del nodo.
Descripción corta No No   Una descripción breve del nodo.
Descripción larga No No   Texto que describe la finalidad del nodo en el flujo de mensajes.

En la tabla siguiente se describen las propiedades básicas del nodo SOAPExtract.

Propiedad M C Valor predeterminado Descripción
Eliminar sobre No No Seleccionado

Si selecciona el recuadro de selección, el nodo elimina la cabecera SOAP del mensaje. Para un árbol SOAP, en el terminal de salida el nodo genera como salida el primer hijo de SOAP.body del árbol SOAP. Genera como salida en el Destino del sobre el árbol SOAP completo menos el primer hijo de SOAP.body.

Si borra la marca del recuadro de selección, el nodo deja el sobre en el mensaje. En el caso de un árbol SOAP, el árbol completo se propaga al terminal de salida.

Destino del sobre No No $LocalEnvironment/SOAP/Envelope Una expresión XPath que representa el destino en el que el nodo copiará el sobre SOAP. Están disponibles los siguientes nombres de correlaciones:
$Root
La raíz del árbol de mensajes.
$Body
El último hijo de la raíz del árbol de mensajes (equivalente a /).
$LocalEnvironment
La raíz del árbol LocalEnvironment.
$Environment
La raíz del árbol de entorno global.
Modalidad de vía de acceso de destino No No Crear vía de acceso Determina el comportamiento de la propiedad Destino del sobre. Establezca esta propiedad:
Crear vía de acceso
Es el valor predeterminado. Se crea el árbol si la vía de acceso especifica una ubicación que no existe. Sólo se da soporte a expresiones sencillas con el formato aaa/bbb/ccc.
Ubicación XPath del elemento existente
Si sabe que el elemento de destino existe, puede escribir cualquier expresión XPath 1.0 válida.
Direccionar a etiqueta 'operación' No No No seleccionado Esta propiedad determina si el nodo debe direccionar el mensaje a la operación SOAP proporcionada en el mensaje.

Si selecciona el recuadro de selección, el mensaje se direcciona a un nodo Label que coincide con la operación SOAP. Se genera una excepción si ningún nodo Label coincide. Se utiliza el nombre del elemento del primer hijo del cuerpo SOAP para determinar el nombre RouteToLabel. Para los tipos WSDL ‘literal RPC' y ‘literal de documento encapsulado', éste es el nombre de la ‘operación'. En un árbol SOAP, el primer hijo de SOAP.Body proporciona el nombre de la operación.

Si borra la marca del recuadro de selección, el nodo envía el mensaje al terminal de salida.

Prefijo de etiqueta No No   El valor del prefijo de la etiqueta que utiliza el nodo para el direccionamiento. Si especifica un prefijo permite el espaciado de nombres entre subflujos.
Las propiedades de supervisión del nodo se describen en la siguiente tabla.
Propiedad O C Valor predeterminado Descripción
Sucesos No No Ninguno Los sucesos que se han definido para el nodo se visualizan en este separador. De forma predeterminada, no se define ningún suceso de supervisión en ningún nodo en un flujo de mensajes. Utilice Añadir, Editar y Suprimir para crear, cambiar o suprimir sucesos de supervisión para el nodo; consulte Configuración de orígenes de sucesos de supervisión utilizando propiedades de supervisión para obtener detalles.

Puede habilitar e inhabilitar sucesos que se muestran aquí seleccionando o deseleccionando el recuadro Habilitado.

Ejemplo de mensajes SOAP

Mensaje SOAP de entrada

<?xml version="1.0"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://ws3.st.mqsi.ibm.com/App/DocLiteral1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
    <tns:requestHeader>
        <tns:assessorUrl>header1</tns:assessorUrl>
    </tns:requestHeader>
    </soapenv:Header>
    <soapenv:Body>
        <tns:requestAvailability>
            <tns:carDetails>body1</tns:carDetails>
            <tns:claimID>body2</tns:claimID>
            <tns:location>body3</tns:location>
            <tns:reqDate>body4</tns:reqDate>
        </tns:requestAvailability>
    </soapenv:Body>
</soapenv:Envelope>

Mensaje fuera del sobre

Nombre de la operación requestAvailability. Tenga en cuenta el espacio de nombres se ha eliminado para esta operación.

<?xml version="1.0"?>
<tns:requestAvailability
xmlns:tns="http://ws3.st.mqsi.ibm.com/App/DocLiteral1"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tns:carDetails>body1</tns:carDetails>
    <tns:claimID>body2</tns:claimID>
    <tns:location>body3</tns:location>
    <tns:reqDate>body4</tns:reqDate>
</tns:requestAvailability>

Sobre eliminado

<?xml version="1.0"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns="http://ws3.st.mqsi.ibm.com/App/DocLiteral1"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Header>
        <tns:requestHeader>
            <tns:assessorUrl>header1</tns:assessorUrl>
        </tns:requestHeader>
    </soapenv:Header>
</soapenv:Envelope>
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:51


Tema de referenciaTema de referencia | Versión 8.0.0.5 | ac60010_