Customizando Mensagens que os Aplicativos Clientes Enviam e Recebem de Serviços da Web

É possível customizar a tag XML das mensagens que os aplicativos clientes enviam e recebem de serviços da Web.

Para cada operação incluída em um serviço da Web, o ambiente de trabalho gera um esquema XML padrão que descreve as mensagens XML de entrada e de saída dessa operação. Se uma mensagem de entrada para uma operação de serviço da Web estiver em XML, as mensagens deverão ser marcadas de acordo com esse esquema XML padrão. Todas as mensagens de saída que os serviços da Web geram para a operação também são marcadas de acordo com o esquema XML padrão.

Você pode configurar transformações XSL das mensagens de entrada XML, das mensagens de saída ou de ambos os tipos de mensagens para uma operação de serviço da Web. Essas transformações XSL ocorrem durante os fluxos de mensagens de entrada e de saída.

O fluxo de mensagens SOAP/HTTP e HTTP POST (text/xml) customizadas envolve duas transformações XSL: uma para mensagens de entrada e uma para mensagens de saída. O fluxo de mensagens HTTP GET/POST (codificadas por url) envolve apenas uma transformação XSL, a qual destinar-se a mensagens de saída.

As seções a seguir descrevem as transformações XSL para mensagens que utilizam os protocolos de mensagens suportados.

Transformações XSL com o Protocolo de Mensagem SOAP/HTTP

Essa seção descreve o fluxo de mensagens padrão para mensagens SOAP/HTTP e, em seguida, descreve o fluxo que incorpora transformações XSL.

O fluxo de mensagens padrão, que não contém transformações XSL, para uma operação de serviço da Web segue estas etapas:
  1. Um aplicativo cliente envia uma mensagem SOAP/HTTP que acessa uma operação em um serviço da Web. O corpo da mensagem está em XML e é marcado de acordo com o esquema padrão.
  2. O serviço da Web recebe a mensagem e transmite para o banco de dados a instrução SQL ou chamada de procedimento armazenado que está na operação.
  3. O serviço da Web recebe a resposta do banco de dados e empacota a resposta em uma mensagem XML que é identificada de acordo com o esquema XML padrão para a operação.
  4. O serviço da Web envia a resposta para o aplicativo cliente.
Figura 1. Fluxo de Mensagens Padrão
Quando você configura transformações XSL, o fluxo de mensagens para uma operação de serviço da Web segue estas etapas:
  1. Um aplicativo cliente envia uma mensagem SOAP/HTTP que acessa uma operação em um serviço da Web. A mensagem XML no corpo SOAP é marcada de acordo com um esquema XML customizado.
  2. A mensagem é transformada, para que seja marcada de acordo com o esquema XML padrão.
  3. O serviço da Web recebe a mensagem e transmite para o banco de dados a instrução SQL ou chamada de procedimento armazenado que está na operação.
  4. O serviço da Web recebe a resposta do banco de dados e empacota a resposta em uma mensagem XML que é identificada de acordo com o esquema XML padrão para a operação.
  5. A mensagem é transformada, para que seja marcada de acordo com o esquema XML customizado.
  6. O serviço da Web envia a resposta para o aplicativo cliente.
Figura 2. Fluxo de Mensagens que Incorpora Transformações XSL
Tabela 1. Entradas e Saídas das Transformações XSL
  Entrada para a Transformação XSL Saída da Transformação XSL
Primeira transformação XSL Documento XML válido agrupado por SOAP que utiliza um esquema XML customizado Documento XML válido agrupado por SOAP que utiliza um esquema XML padrão
Segunda transformação XSL Documento XML válido agrupado por SOAP que utiliza um esquema XML padrão Documento XML válido agrupado por SOAP que utiliza um esquema XML customizado
Conforme descrito na seguinte tabela, quando você cria o serviço da Web, é necessário fornecer os seguintes arquivos:
  • Para ativar a primeira transformação, é necessário fornecer o serviço da Web com uma cópia do esquema XML customizado e um arquivo XSL que mapeia o esquema XML customizado para o esquema XML padrão.
  • Para ativar a segunda transformação, é necessário fornecer o serviço da Web com uma cópia do esquema XML customizado e um arquivo XSL que mapeia o esquema XML padrão para o esquema XML customizado.
Tabela 2. Arquivos que Você Deve Fornecer para o Serviço da Web
transformação XSL da mensagem de entrada transformação XSL da mensagem de saída
Esquema XML customizado (arquivo XSD) Arquivo XSL Esquema XML customizado (arquivo XSD) Arquivo XSL
X X X X

Transformações XSL com o Protocolo de Mensagem HTTP POST (text/xml)

Essa seção descreve o fluxo de mensagens padrão para mensagens HTTP POST (text/xml) e, em seguida, descreve o fluxo que incorpora transformações XSL.

O fluxo de mensagens padrão, que não contém transformações XSL, para uma operação de serviço da Web segue estas etapas:
  1. Um aplicativo cliente envia uma mensagem HTTP POST (text/xml) que acessa uma operação em um serviço da Web. A mensagem está em XML e é marcada de acordo com o esquema padrão.
  2. O serviço da Web recebe a mensagem e transmite para o banco de dados a instrução SQL ou chamada de procedimento armazenado que está na operação.
  3. O serviço da Web recebe a resposta do banco de dados e empacota a resposta em uma mensagem XML que é identificada de acordo com o esquema XML padrão para a operação.
  4. O serviço da Web envia a resposta para o aplicativo cliente.
Figura 3. Fluxo de Mensagens Padrão
Quando você configura transformações XSL, o fluxo de mensagens para uma operação de serviço da Web segue estas etapas:
  1. Um aplicativo cliente envia uma mensagem HTTP POST (text/xml) que acessa uma operação em um serviço da Web. A mensagem é marcada de acordo com um esquema XML customizado.
  2. A mensagem é transformada, para que seja marcada de acordo com o esquema XML padrão.
  3. O serviço da Web recebe a mensagem e transmite para o banco de dados a instrução SQL ou chamada de procedimento armazenado que está na operação.
  4. O serviço da Web recebe a resposta do banco de dados e empacota a resposta em uma mensagem XML que é identificada de acordo com o esquema XML padrão para a operação.
  5. A mensagem é transformada, para que esteja em XML e marcada de acordo com o esquema XML customizado ou esteja em um formato que não seja XML como, por exemplo, HTML ou texto simples.
  6. O serviço da Web envia a resposta para o aplicativo cliente.
Figura 4. Fluxo de Mensagens que Incorpora Transformações XSL
Tabela 3. Entradas e Saídas das Transformações XSL
  Entrada para a Transformação XSL Saída da Transformação XSL
Primeira transformação XSL Documento XML válido que utiliza o esquema XML customizado Documento XML válido que utiliza o esquema XML padrão
Segunda transformação XSL Documento XML válido que utiliza o esquema XML padrão Documento não XML ou documento XML válido que utiliza um esquema XML customizado
Conforme descrito na seguinte tabela, quando você cria o serviço da Web, é necessário fornecer os seguintes arquivos:
  • Para ativar a primeira transformação, é necessário fornecer o serviço da Web apenas com um arquivo XSL que mapeia o esquema XML customizado para o esquema padrão. Você não precisa fornecer uma cópia do esquema XML customizado.
  • Para ativar a segunda transformação, os arquivos fornecidos para o serviço da Web dependem da saída que você precisa:
    • Para ativar a transformação XML, é necessário fornecer o serviço da Web apenas com um arquivo XSL que mapeia o esquema XML customizado para o esquema padrão. Você não precisa fornecer uma cópia do esquema XML customizado.
    • Para ativar a transformação para um formato que não seja XML, é necessário fornecer um arquivo XSL que mapeia o esquema XML customizado para o formato que não seja XML.
Tabela 4. Arquivos que Você Deve Fornecer para o Serviço da Web
Transformação XSL da mensagem de entrada Transformação XSL da mensagem de saída
Esquema XML customizado (arquivo XSD) Arquivo XSL Esquema XML customizado (arquivo XSD) Arquivo XSL
  X   X

Transformações XSL com o Protocolo de Mensagem HTTP GET/POST (codificada por url)

Essa seção descreve o fluxo de mensagens padrão para mensagens HTTP POST (codificadas por url) e mensagens HTTP POST (codificadas por url) e, em seguida, descreve o fluxo que incorpora transformações XSL.

O fluxo de mensagens padrão, que não contém transformações XSL, para uma operação de serviço da Web segue estas etapas:
  1. Um aplicativo cliente envia uma mensagem HTTP GET (codificada por url) ou HTTP POST (codificada por url) que acessa uma operação em um serviço da Web. A mensagem é uma seqüência codificada de parâmetros na cadeia de texto.
  2. O serviço da Web recebe a mensagem e transmite para o banco de dados a instrução SQL ou chamada de procedimento armazenado que está na operação.
  3. O serviço da Web recebe a resposta do banco de dados e empacota a resposta em uma mensagem XML que é identificada de acordo com o esquema XML padrão para a operação.
  4. O serviço da Web envia a resposta para o aplicativo cliente.
Figura 5. Fluxo de Mensagens Padrão
Quando você configura uma transformação XSL, o fluxo de mensagens para uma operação de serviço da Web segue estas etapas:
  1. Um aplicativo cliente envia uma mensagem HTTP GET (codificada por url) ou HTTP POST (codificada por url) que acessa uma operação em um serviço da Web. A mensagem codifica os parâmetros. As transformações XSL não são possíveis nessas mensagens.
  2. O serviço da Web recebe a mensagem e transmite para o banco de dados a instrução SQL ou chamada de procedimento armazenado que está na operação.
  3. O serviço da Web recebe a resposta do banco de dados e empacota a resposta em uma mensagem XML que é identificada de acordo com o esquema XML padrão para a operação.
  4. A mensagem é transformada, para que esteja em XML e marcada de acordo com o esquema XML customizado ou esteja em um formato que não seja XML como, por exemplo, HTML ou texto simples.
  5. O serviço da Web envia a resposta para o aplicativo cliente.
Figura 6. Fluxo de Mensagens que Incorpora uma Transformação XSL
Tabela 5. Entradas e Saídas das Transformações XSL
  Entrada para a Transformação XSL Saída da Transformação XSL
Primeira transformação XSL As transformações XSL não são suportadas por mensagens de aplicativos cliente.
Segunda transformação XSL Documento XML válido que utiliza o esquema XML padrão Documento não XML ou documento XML válido que utiliza um esquema XML customizado
Conforme descrito na seguinte tabela, quando você cria o serviço da Web, é necessário fornecer os seguintes arquivos:
  • Para ativar a transformação XML, é necessário fornecer o serviço da Web apenas com um arquivo XSL que mapeia o esquema XML customizado para o esquema padrão. Você não precisa fornecer uma cópia do esquema XML customizado.
  • Para ativar a transformação para um formato que não seja XML, é necessário fornecer um arquivo XSL que mapeia o esquema XML customizado para o formato que não seja XML.
Tabela 6. Arquivos que Você Deve Fornecer para o Serviço da Web
Transformação XSL da mensagem de entrada Transformação XSL da mensagem de saída
Esquema XML customizado (arquivo XSD) Arquivo XSL Esquema XML customizado (arquivo XSD) Arquivo XSL
      X

Feedback