é um serviço que conecta os clientes de serviços da Web que utilizam o protocolo HTTP para o sistema de mensagens.

Os clientes de serviços da Web utilizam o sistema de mensagens não-persistentes e não-transacionais para se comunicarem com outros aplicativos. fornece suporte para permitir que esses clientes comuniquem-se com outros aplicativos por meio de fluxos de mensagens em um intermediário.

Os clientes são fornecedores de serviços ou solicitantes de serviços. Os fornecedores de serviços publicam seus serviços, definidos no WSDL, em um registro. Os solicitantes de serviços consultam o registro de serviço para localizar informações sobre serviços disponíveis, incluindo a localização desses serviços e como ligá-los.

A habilidade de comunicar-se com um intermediário significa que os clientes dos serviços da Web podem comunicar-se com aplicativos que utilizam outros protocolos e transportes suportados, se o fluxo de mensagens estiver configurado para fornecer essa função.

Para obter informações adicionais, siga o link de serviços da Web no site do na Web.

Formato de Mensagens de Serviços da Web

As mensagens que passam por este transporte têm um formato XML que fornece independência da plataforma. O conteúdo de XML, que define operações específicas e situações de erro (Falha SOAP), é definido pelo padrão SOAP. Como a entrega não é garantida, os aplicativos devem fornecer recuperação no caso de falhas do sistema ou da rede.

Uma mensagem contém componentes apropriados ao seu tipo:

Cadeia de Comandos
Uma mensagem de pedido contém o comando POST seguido de um URL. A cadeia de comandos termina com HTTP/1.0.
Linha de Status
Uma mensagem da resposta contém uma linha de status que inicia com HTTP/1.0 e indica o êxito ou a falha do pedido com um código e texto, por exemplo, 200 OK, 404 Não Localizado, 500 Erro do Servidor.
Cabeçalhos
Os cabeçalhos utilizados pelo protocolo de serviços da Web são cabeçalhos HTTP que consistem em um nome seguido de dois pontos e (opcionalmente) um espaço, seguido do valor (conteúdo) do cabeçalho. Cada cabeçalho é seguido de caracteres CRLF. O cabeçalho final é seguido de CRLFCRLF, que cria uma linha em branco. Os dados depois dessa linha são interpretados como dados do corpo da mensagem. Os cabeçalhos estão descritos em Cabeçalhos de Serviços da Web.
Corpo
O corpo da mensagem inclui os dados seguidos dos cabeçalhos na mensagem (ou seja, seguido dos caracteres CRLFCRLF). Para uma mensagem de entrada recebida pelo nó HTTPInput ou HTTPRequest, esses dados são geralmente analisados conforme as definições das propriedades da mensagem no nó. Para mensagens de saída, os dados serão geralmente analisados conforme as definições das propriedades da mensagem na pasta Propriedades recebida pelo nó HTTPReply ou HTTPRequest que analisa a mensagem da árvore de mensagens para o fluxo de bits.

Na maioria dos casos, o corpo de uma mensagem é XML. No entanto, uma mensagem de entrada poderá conter um formato diferente se o nó receptor estiver configurado para identificar esse formato e os analisadores apropriados estiverem disponíveis. Uma mensagem de saída pode conter um corpo de qualquer formato aceito pelo serviço da Web ao qual for enviado.

Um erro gerado por um componente diferente de um serviço da Web (por exemplo, 404 Não Localizado) pode resultar em uma mensagem que esteja no formato HTML.

O fluxo de bits que contém cabeçalhos e o corpo é analisado e representado dentro da árvore de mensagens quando um pedido de entrada é recebido por um nó HTTPInput ou quando uma resposta de um serviço da Web é recebida pelo nó HTTPRequest. Quando uma resposta é enviada ao cliente pelo nó HTTPReply e um pedido é enviado a um serviço da Web pelo nó HTTPRequest, é criado um fluxo de bits por analisadores a partir de partes apropriadas da árvore de mensagens. Para obter detalhes adicionais sobre essas ações, consulte as descrições individuais do nó.

Cabeçalhos de Serviços da Web

Quando uma mensagem é recebida de um cliente de serviço da Web ou servidor Web, o nó HTTPInput ou HTTPRequest que recebe essa mensagem deve analisar os cabeçalhos HTTP para criar elementos na árvore de mensagens. Quando uma mensagem HTTPReply ou HTTPRequest envia uma mensagem a um cliente de serviço da Web ou servidor Web, ela analisa os cabeçalhos HTTP da árvore de mensagens em um fluxo de bits.

Os cabeçalhos HTTP em uma mensagem dependem do tipo de mensagem processada. Há quatro tipos de mensagens reconhecidas em um fluxo de mensagens e um analisador está associado a cada uma.

  1. Entrada. Uma mensagem de entrada é recebida pelo nó HTTPInput de um cliente de serviço da Web. Os cabeçalhos HTTP na mensagem de entrada (dados até CRLFCRLF e inclusive) são analisados pelo analisador HTTPInput e incluídos na árvore de mensagens sob o nome de correlação HTTPInput. Espera-se encontrar os cabeçalhos mostrados na seguinte tabela em uma mensagem de entrada; outros também podem estar presentes.
    Cabeçalho Content Exemplo
    Host O nome do host no qual o cliente emitiu a mensagem. localhost
    Content-Length O comprimento do corpo da mensagem de entrada em decimais (depois de CRLFCRLF após o último cabeçalho). 520
    Content-Type O tipo de dados do corpo. text/xml; charset=utf-8
    SOAPAction   "" (cadeia vazia)
  2. Resposta. Uma mensagem da resposta é enviada ao nó HTTPReply para o cliente de serviço da Web que enviou a mensagem de entrada correspondente. Os cabeçalhos de serviços da Web na mensagem de resposta são criados na árvore de mensagens sob o nome de correlação HTTPReply, que também é o nome do analisador utilizado para analisar essa parte da árvore de mensagens em um fluxo de bits. Você pode optar por criar seu próprio cabeçalho HTTPReply em um nó Compute ou pode configurar o nó HTTPReply para criá-lo utilizando valores padrão ou valores adotados das árvores HTTPInput ou HTTPRequest na mensagem de entrada ou ambos. Se o nó HTTPReply criar um cabeçalho HTTPReply padrão, ele conterá os cabeçalhos de serviço da Web e os valores mostrados na seguinte tabela.
    Cabeçalho Value
    Conteúdo-Comprimento (se presente na mensagem de entrada) O comprimento calculado do corpo da mensagem de resposta em decimal.
    Content-Type text/xml; charset=utf-8
  3. Pedido. Uma mensagem de pedido é enviada a um servidor Web pelo nó HTTPRequest. Os cabeçalhos HTTP nesta mensagem devem ser criados na árvore de mensagens sob o nome de correlação HTTPRequest e analisados pelo analisador HTTPRequest quando a árvore de mensagens é analisada para um fluxo de bits. Você pode optar por criar seu próprio cabeçalho HTTPRequest em um nó Compute ou pode configurar o nó HTTPRequest para criá-lo utilizando valores padrão ou valores adotados das árvores HTTPInput ou HTTPRequest na mensagem de entrada ou ambos. Se o nó HTTPRequest criar um cabeçalho HTTPRequest padrão, ele conterá os cabeçalhos de serviço da Web e os valores mostrados na seguinte tabela.
    Cabeçalho Value
    Host Os valores definidos na propriedade URL de Serviço da Web Padrão.
    Content-Length O comprimento calculado do corpo da mensagem de pedido em decimais.
    Content-Type text/xml; charset=utf-8
    SOAPAction "" (cadeia vazia)
  4. Resposta. Recebida uma mensagem de resposta pelo nó HTTPRequest do servidor Web ao qual a mensagem de pedido correspondente foi enviada. Os cabeçalhos HTTP na mensagem de resposta (dados até CRLFCRLF e inclusive) são analisados pelo analisador HTTPResponse e incluídos na árvore de mensagens sob o nome de correlação HTTPResponse. Espera-se encontrar o cabeçalho mostrado na seguinte tabela em uma mensagem de resposta (embora não requerido); também podem estar presente outros cabeçalhos.
    Cabeçalho Content Exemplo
    Content-Length O comprimento do corpo da mensagem de resposta em decimal. 1585

Mensagens de Exemplo fornece mensagens de exemplos que incluem esses cabeçalhos.

Mensagens de Exemplo

A mensagem a seguir fornece um exemplo de um pedido enviado por um nó HTTPRequest a um serviço da Web que fornece um serviço de pesquisa:

POST /greenpages/servlet/rpcrouter HTTP/1.0
Host: localhost
Content-Type: text/xml; charset=utf-8
Content-Length: 520
SOAP Action: ""
Cookie: JSESSIONID=0000B5OSLFIUDMQZFAUXKHD5ZDQ:-1

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schema.xmlsoap.org.soap/envelope/"
                   xmlns:xsi="http://www.w3/2001/XMLSchema-instance"
                   xmlns:xsd="http://www.w3/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:getUserByName xmlns:ns1="http://tempuri.org/imb.GreenPages"
                   SOAP-ENV:encodingStyle="http:/schemas.xmlsoap.org/soap/encoding/">
<nameField xsl:type="xsd:string">bloggs, joe</nameField>
</ns1:getUserByName>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

A mensagem a seguir é um exemplo da resposta que pode ser retornada ao nó HTTPRequest:

HTTP/1.0 200 OK
Server: WebSphere Application Server/4.0
Content-Type: text/xml; charset=utf-8
Content-Length: 1585
Content-Language: en
Connection: close

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schema.xmlsoap.org.soap/envelope/"
                   xmlns:xsi="http://www.w3/2001/XMLSchema-instance"
                   xmlns:xsd="http://www.w3/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:getUserByNameResponse xmlns:ns1="http://tempuri.org/imb.GreenPages"
                   SOAP-ENV:encodingStyle="http:/schemas.xmlsoap.org/soap/encoding/">
<return xmlns:ns2="http://www.greenpages.com/schemas/GreenPagesRemoteInterface"
        xsi:type="ns2:imb.UserRecord">
<fullName xsi:type="xsd:string">Joseph Bloggs</fullName>
<empNum xsi:type="xsd:int">65874</empNum>
<deskPhone xsi:type="xsd:string">(718)545-3623</deskPhone>
</return>
</ns1:getUserByNameResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Conceitos relacionados
Fluxos de Mensagem
Gerar WSDL (Web Services Description Language)

Tarefas relacionadas
Desenvolvendo Aplicativos do Fluxo de Mensagens
Gerando uma Definição de Serviço da Web a partir de um Conjunto de Mensagens
Implementando Aplicativos de Fluxo de Mensagens

Referências relacionadas

Web site