Puede personalizar la codificación de XML de los mensajes que las
aplicaciones cliente envían y reciben de servicios web.
Para cada operación que se incluye en un servicio web, el entorno de trabajo
genera un esquema XML por omisión que describe los mensajes XML de entrada y
salida para dicha operación. Si un mensaje de entrada para una operación de
servicio web está en XML, los mensajes deben codificarse de acuerdo con este
esquema XML por omisión. Todos los mensajes de salida que el servicio web
genera para la operación también se codifican de acuerdo con el esquema XML por
omisión.
Puede configurar transformaciones XSL de los mensajes XML de entrada, de
salida, o ambos tipos de mensaje para una operación de servicio web.
Estas
transformaciones XSL tienen lugar durante el flujo de mensajes de entrada y
salida.
El flujo de mensajes SOAP/HTTP y HTTP POST (texto/xml) personalizados
implica dos transformaciones XSL: una para los mensajes de entrada y una
para los mensajes de salida. El flujo de mensajes HTTP GET/POST
(codificados para url) personalizados sólo implica una transformación XSL,
que es para los mensajes de salida.
Las secciones siguientes describen las transformaciones XSL para los
mensajes que utilizan los protocolos de mensajes soportados.
Transformaciones XSL con el protocolo de mensajes
SOAP/HTTP
Esta sección describe el flujo de mensajes por omisión para
los mensajes SOAP/HTTP y, a continuación, describe el flujo que incorpora
transformaciones XSL.
El flujo de mensajes por
omisión, que no contiene ninguna transformación XSL, para una operación de
servicio web sigue los pasos que se describen a continuación:
- Una aplicación cliente envía un mensaje SOAP/HTTP que accede a una
operación de un servicio web. El cuerpo del mensaje está en XML y se
codifica de acuerdo con el esquema por omisión.
- El servicio web recibe el mensaje y lo pasa a la base de datos la llamada
de sentencia de SQL o de procedimiento almacenado que incluye la operación.
- El servicio web recibe la respuesta de la base de datos y empaqueta la
respuesta en un mensaje XML codificado de acuerdo con el esquema XML por
omisión para la operación.
- El servicio web envía la respuesta a la aplicación cliente.
Figura 1. Flujo de mensajes por omisión
Al configurar transformaciones XSL, el flujo de
mensajes para una operación de servicio web sigue los pasos que se describen a
continuación:
- Una aplicación cliente envía un mensaje SOAP/HTTP que accede a una
operación de un servicio web. El mensaje XML del cuerpo de SOAP se codifica de
acuerdo con un esquema XML personalizado.
- El mensaje se transforma para codificarlo de acuerdo con el esquema
XML por omisión.
- El servicio web recibe el mensaje y lo pasa a la base de datos la llamada
de sentencia de SQL o de procedimiento almacenado que incluye la operación.
- El servicio web recibe la respuesta de la base de datos y empaqueta la
respuesta en un mensaje XML codificado de acuerdo con el esquema XML por
omisión para la operación.
- El mensaje se transforma para codificarlo de acuerdo con el esquema XML
personalizado.
- El servicio web envía la respuesta a la aplicación cliente.
Figura 2. Flujo de mensajes que incorpora transformaciones XSL
Tabla 1. Entradas y salidas de transformaciones XSL |
Entrada para la transformación XSL |
Salida de la transformación XSL |
Primera transformación XSL |
Documento XML válido, derivado por
SOAP, que utiliza un esquema XML personalizado |
Documento XML válido, derivado por SOAP, que
utiliza el esquema XML por omisión |
Segunda transformación XSL |
Documento XML válido, derivado por SOAP, que
utiliza el esquema XML por omisión |
Documento XML válido, derivado por
SOAP, que utiliza un esquema XML personalizado |
Tal como se describe en la tabla siguiente, al crear el servicio web debe
proporcionar los archivos siguientes:
- Para habilitar la primera transformación, debe proporcionar al servicio web
una copia del esquema XML personalizado y un archivo XSL que correlacione el
esquema XML con el esquema XML por omisión.
- Para habilitar la segunda transformación, debe proporcionar al servicio web
una copia del esquema XML personalizado y un archivo XSL que correlacione el
esquema XML por omisión con el esquema XML personalizado.
Tabla 2. Archivos que deben proporcionarse al servicio web.
Transformaciones XSL de
mensaje de entrada |
Transformación XSL de
mensaje de salida |
Esquema XML personalizado (archivo XSD) |
Archivo XSL |
Esquema XML personalizado (archivo XSD) |
Archivo XSL |
X |
X |
X |
X |
Transformaciones XSL con el protocolo de mensajes
HTTP POST (texto/xml)
Esta sección describe el flujo de mensajes por
omisión para los mensajes HTTP POST (texto/xml) y, a continuación, describe el
flujo que incorpora transformaciones XSL.
El flujo de mensajes por
omisión, que no contiene ninguna transformación XSL, para una operación de
servicio web sigue los pasos que se describen a continuación:
- Una aplicación cliente envía un mensaje (texto/xml) HTTP POST que accede a
una operación de un servicio web. El mensaje está en XML y se codifica de
acuerdo con el esquema por omisión.
- El servicio web recibe el mensaje y lo pasa a la base de datos la llamada
de sentencia de SQL o de procedimiento almacenado que incluye la operación.
- El servicio web recibe la respuesta de la base de datos y empaqueta la
respuesta en un mensaje XML codificado de acuerdo con el esquema XML por
omisión para la operación.
- El servicio web envía la respuesta a la aplicación cliente.
Figura 3. Flujo de mensajes por omisión
Al configurar transformaciones XSL, el flujo de
mensajes para una operación de servicio web sigue los pasos que se describen a
continuación:
- Una aplicación cliente envía un mensaje (texto/xml) HTTP POST que accede a
una operación de un servicio web. El mensaje se codifica de acuerdo con un
esquema XML personalizado.
- El mensaje se transforma para codificarlo de acuerdo con el esquema
XML por omisión.
- El servicio web recibe el mensaje y lo pasa a la base de datos la llamada
de sentencia de SQL o de procedimiento almacenado que incluye la operación.
- El servicio web recibe la respuesta de la base de datos y empaqueta la
respuesta en un mensaje XML codificado de acuerdo con el esquema XML por
omisión para la operación.
- El mensaje se transforma para que esté en XML y se codifique de acuerdo con
el esquema XML personalizado o para que esté en un formato no XML como, por
ejemplo HTML o texto sin formato.
- El servicio web envía la respuesta a la aplicación cliente.
Figura 4. Flujo de mensajes que incorpora transformaciones XSL
Tabla 3. Entradas y salidas de transformaciones XSL |
Entrada para la transformación XSL |
Salida de la transformación XSL |
Primera transformación XSL |
Documento XML válido que utiliza un esquema
XML personalizado |
Documento XML válido que utiliza el esquema
XML por omisión |
Segunda transformación XSL |
Documento XML válido que utiliza el esquema
XML por omisión |
Documento no XML o un documento XML válido que
utiliza un esquema XML personalizado |
Tal como se describe en la tabla siguiente, al crear el servicio web debe
proporcionar los archivos siguientes:
- Para habilitar la primera transformación, debe proporcionar al servicio web
únicamente un archivo XSL que correlacione un esquema XML personalizado con
el esquema por omisión. No es necesario proporcionar una copia del esquema
XML personalizado.
- Para habilitar la segunda transformación, los archivos proporcionados al
servicio web dependen de la salida que se desee:
- Para habilitar la transformación a XML, debe proporcionar al servicio web
únicamente un archivo XSL que correlacione un esquema XML personalizado con el
esquema por omisión. No es necesario proporcionar una copia del esquema
XML personalizado.
- Para habilitar la transformación a un formato no XML, debe proporcionar
un archivo XSL que correlacione el esquema XML por omisión con el formato no
XML.
Tabla 4. Archivos que deben proporcionarse al servicio web.
Transformaciones XSL de
mensaje de entrada |
Transformación XSL de
mensaje de salida |
Esquema XML personalizado (archivo XSD) |
Archivo XSL |
Esquema XML personalizado (archivo XSD) |
Archivo XSL |
|
X |
|
X |
Transformaciones XSL con el protocolo de mensajes
(codificados para url) HTTP GET/POST
Esta sección describe el flujo de mensajes por omisión para mensajes
(codificados para url) HTTP GET y mensajes (codificados para url) HTTP POST
y, a continuación, describe el flujo que incorpora una transformación XSL.
El
flujo de mensajes por omisión, que no contiene transformación XSL, para una
operación de servicio web sigue los pasos que se describen a continuación:
- Una aplicación cliente envía un mensaje HTTP GET (codificado para url) o
HTTP POST (codificado para url) que accede a una operación de un servicio web.
El mensaje es una secuencia codificada de parámetros en una serie de texto.
- El servicio web recibe el mensaje y lo pasa a la base de datos la llamada
de sentencia de SQL o de procedimiento almacenado que incluye la operación.
- El servicio web recibe la respuesta de la base de datos y empaqueta la
respuesta en un mensaje XML codificado de acuerdo con el esquema XML por
omisión para la operación.
- El servicio web envía la respuesta a la aplicación cliente.
Figura 5. Flujo de mensajes por omisión
Al configurar una transformación XSL, el flujo de
mensajes para una operación de servicio web sigue los pasos que se describen a
continuación:
- Una aplicación cliente envía un mensaje HTTP GET (codificado para url) o
HTTP POST (codificado para url) que accede a una operación de un servicio web.
El mensaje codifica los parámetros. No se pueden realizar transformaciones XSL
en estos mensajes.
- El servicio web recibe el mensaje y lo pasa a la base de datos la llamada
de sentencia de SQL o de procedimiento almacenado que incluye la operación.
- El servicio web recibe la respuesta de la base de datos y empaqueta la
respuesta en un mensaje XML codificado de acuerdo con el esquema XML por
omisión para la operación.
- El mensaje se transforma para que esté en XML y se codifique de acuerdo con
el esquema XML personalizado o para que esté en un formato no XML como, por
ejemplo HTML o texto sin formato.
- El servicio web envía la respuesta a la aplicación cliente.
Figura 6. Flujo de mensajes que incorpora una transformación XSL
Tabla 5. Entradas y salidas de transformaciones XSL.
|
Entrada para la transformación XSL |
Salida de la transformación XSL |
Primera transformación XSL |
Las
transformaciones XSL no están soportadas para mensajes desde aplicaciones
cliente. |
Segunda transformación XSL |
Documento XML válido que utiliza el esquema
XML por omisión |
Documento no XML o un documento XML válido que
utiliza un esquema XML personalizado |
Tal como se describe en la tabla siguiente, al crear el servicio web debe
proporcionar los archivos siguientes:
- Para habilitar la transformación a XML, debe proporcionar al servicio web
únicamente un archivo XSL que correlacione un esquema XML personalizado con el
esquema por omisión. No es necesario proporcionar una copia del esquema
XML personalizado.
- Para habilitar la transformación a un formato no XML, debe proporcionar
un archivo XSL que correlacione el esquema XML por omisión con el formato no
XML.
Tabla 6. Archivos que deben proporcionarse al servicio web.
Transformaciones XSL de
mensaje de entrada |
Transformación XSL de
mensaje de salida |
Esquema XML personalizado (archivo XSD) |
Archivo XSL |
Esquema XML personalizado (archivo XSD) |
Archivo XSL |
|
|
|
X |