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:
El nodo SOAPExtract puede realizar dos funciones:
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:
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.
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.
La validación completa no se lleva a cabo en el mensaje SOAP, que simplemente necesita contener un elemento de cuerpo.
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:
|
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:
|
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. |
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. |
<?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>
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>
<?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>