Personalización de los mensajes que las aplicaciones cliente envían y reciben de servicios web

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:
  1. 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.
  2. 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.
  3. 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.
  4. 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:
  1. 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.
  2. El mensaje se transforma para codificarlo de acuerdo con el esquema XML por omisión.
  3. 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.
  4. 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.
  5. El mensaje se transforma para codificarlo de acuerdo con el esquema XML personalizado.
  6. 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:
  1. 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.
  2. 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.
  3. 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.
  4. 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:
  1. 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.
  2. El mensaje se transforma para codificarlo de acuerdo con el esquema XML por omisión.
  3. 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.
  4. 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.
  5. 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.
  6. 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:
  1. 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.
  2. 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.
  3. 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.
  4. 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:
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

Comentarios