Envelope: Toda mensagem SOAP deve contê- lo. É o elemento raiz do documento XML. O
Envelope pode conter declarações de namespaces e também atributos adicionais como o que
define o estilo de codificação (encoding style).Um "encoding style" define como os dados são
representados no documento XML.
Header: É um cabeçalho opcional. Ele carrega informações adicionais, como por exemplo, se
a mensagem deve ser processada por um determinado nó intermediário (É importante lembrar
que, ao trafegar pela rede, a mensagem normalmente passa por diversos pontos intermediários,
até alcançar o destino final). Quando utilizado, o Header deve ser o primeiro elemento do
Envelope.
Body: Este elemento é obrigatório e contém o payload, ou a informação a ser transportada
para o seu destino final. O elemento Body pode conter um elemento opcional Fault, usado
para carregar mensagens de status e erros retornadas pelos "nós" ao processarem a mensagem.
De acordo com o W3Schools, a estrutura da mensagem SOAP é definida em um documento
XML que contém os seguintes elementos:
<SOAP-ENV:envelope>
<!— Elemento raiz do SOAP e define que essa é uma mensagem SOAP-->
<SOAP-ENV:header>
<!—Especifica informações especificas como autenticação (opcional)-->
</SOAP-ENV:header>
<SOAP-ENV:body>
<!—O elemento BODY contém o corpo da mensagem-->
<SOAP-ENV:fault>
<!—O elemento FAULT contém os erros que podem ocorrer-->
</SOAP-ENV:fault>
</SOAP-ENV:body>
</SOAP-ENV:envelope>
|
Envelope (obrigatório): é responsável por definir o conteúdo da mensagem;
- encodingStyle: atributo que tem como objetivo especificar como as informações devem ser
codificadas.
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
...
</SOAP-ENV:Header>
<SOAP-ENV:Body>
…
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
|
Header (opcional): contém os dados do cabeçalho;
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
<a:authentication
xmlns:a=”http://www.mauricioreckziegel.com/soap/authentication”>
<a:username>Mauricio</a:username>
<a:password>Reckziegel</a:password>
</a:authentication>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
…
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
|
- actor: especifica o receptor que deve processar o elemento do cabeçalho.
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
<a:authentication
xmlns:a=”http://www.mauricioreckziegel.com/soap/authentication”
SOAP-
ENV:actor=”http://www.mauricioreckziegel.com/soap/authenticator”>
<a:username>Mauricio</a:username>
<a:password>Reckziegel</a:password>
</a:authentication>
|
- musUnderstand: especifica se uma entrada de cabeçalho é obrigatória ou opcional
(booleano).
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
<a:authentication
xmlns:a=”http://www.mauricioreckziegel.com/soap/authentication”
SOAP-ENV:mustUndestrand=”1”>
<a:username>Mauricio</a:username>
<a:password>Reckziegel</a:password>
</a:authentication>
|
. Body (obrigatório): contém a codificação atual de uma chamada a um método e todos os
argumentos de entrada ou uma resposta codificada que contém o resultado de uma chamada
de um método.
. Fault: contém as informações dos erros ocorridos no envio da mensagem. Apenas nas
mensagens de resposta do servidor.
O envelope SOAP é a parte obrigatória de uma mensagem SOAP. Ele funciona como um
recipiente de todos os outros elementos da mensagem, possivelmente o cabeçalho e o corpo,
assim como os namespaces de cada um. Assim como o nome e o endereço de uma carta
entregue pelo correio, o envelope SOAP precisa das informações específicas do protocolo de
transporte que está ligado a ele, com o intuito de garantir a chegada ao local certo.
Especificamente no HTTP, temos um cabeçalho que se chama SOAPAction, indicador do
endereço de entrega da mensagem. Um dos principais motivos de implementarmos o
cabeçalho desta maneira é porque administradores de sistemas podem configurar seus
firewalls para filtrar as mensagens baseadas nas informações dos cabeçalhos, sem consultar o
XML.
Elemento
|
Namespace / URI
|
Envelope
|
http://schemas.xmlsoap.org/soap/envelope
|
Serializador
|
http://schemas.xmlsoap.org/soap/encoding
|
SOAP-ENV
|
http://schemas.xmlsoap.org/soap/envelope
|
SOAP-ENC
|
http://schemas.xmlsoap.org/soap/encoding
|
Xsi
|
http://www.w3.org/1999/XMLSchema-instance
|
Xsd
|
http://www.w3.org/1999/XMLSchema
|
Tabela. Namespaces / URI padrões do SOAP
De acordo com o W3Schools, a estrutura da mensagem SOAP é definida em um documento
XML que contém os seguintes elementos:
<SOAP-ENV:envelope>
<!— Elemento raiz do SOAP e define que essa é uma mensagem SOAP-->
<SOAP-ENV:header>
<!—Especifica informações especificas como autenticação (opcional)-->
</SOAP-ENV:header>
<SOAP-ENV:body>
<!—O elemento BODY contém o corpo da mensagem-->
<SOAP-ENV:fault>
<!—O elemento FAULT contém os erros que podem ocorrer-->
</SOAP-ENV:fault>
</SOAP-ENV:body>
</SOAP-ENV:envelope>
|
Envelope (obrigatório): é responsável por definir o conteúdo da mensagem;
- encodingStyle: atributo que tem como objetivo especificar como as informações devem ser
codificadas.
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
...
</SOAP-ENV:Header>
<SOAP-ENV:Body>
…
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
|
Header (opcional): contém os dados do cabeçalho;
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
<a:authentication
xmlns:a=”http://www.mauricioreckziegel.com/soap/authentication”>
<a:username>Mauricio</a:username>
<a:password>Reckziegel</a:password>
</a:authentication>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
…
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
|
- actor: especifica o receptor que deve processar o elemento do cabeçalho.
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
<a:authentication
xmlns:a=”http://www.mauricioreckziegel.com/soap/authentication”
SOAP-
ENV:actor=”http://www.mauricioreckziegel.com/soap/authenticator”>
<a:username>Mauricio</a:username>
<a:password>Reckziegel</a:password>
</a:authentication>
|
- musUnderstand: especifica se uma entrada de cabeçalho é obrigatória ou opcional
(booleano).
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
<a:authentication
xmlns:a=”http://www.mauricioreckziegel.com/soap/authentication”
SOAP-ENV:mustUndestrand=”1”>
<a:username>Mauricio</a:username>
<a:password>Reckziegel</a:password>
</a:authentication>
|
. Body (obrigatório): contém a codificação atual de uma chamada a um método e todos os
argumentos de entrada ou uma resposta codificada que contém o resultado de uma chamada
de um método.
. Fault: contém as informações dos erros ocorridos no envio da mensagem. Apenas nas
mensagens de resposta do servidor.
O envelope SOAP é a parte obrigatória de uma mensagem SOAP. Ele funciona como um
recipiente de todos os outros elementos da mensagem, possivelmente o cabeçalho e o corpo,
assim como os namespaces de cada um. Assim como o nome e o endereço de uma carta
entregue pelo correio, o envelope SOAP precisa das informações específicas do protocolo de
transporte que está ligado a ele, com o intuito de garantir a chegada ao local certo.
Especificamente no HTTP, temos um cabeçalho que se chama SOAPAction, indicador do
endereço de entrega da mensagem. Um dos principais motivos de implementarmos o
cabeçalho desta maneira é porque administradores de sistemas podem configurar seus
firewalls para filtrar as mensagens baseadas nas informações dos cabeçalhos, sem consultar o
XML.
Elemento
|
Namespace / URI
|
Envelope
|
http://schemas.xmlsoap.org/soap/envelope
|
Serializador
|
http://schemas.xmlsoap.org/soap/encoding
|
SOAP-ENV
|
http://schemas.xmlsoap.org/soap/envelope
|
SOAP-ENC
|
http://schemas.xmlsoap.org/soap/encoding
|
Xsi
|
http://www.w3.org/1999/XMLSchema-instance
|
Xsd
|
http://www.w3.org/1999/XMLSchema
|
Tabela. Namespaces / URI padrões do SOAP
De acordo com o W3Schools, a estrutura da mensagem SOAP é definida em um documento
XML que contém os seguintes elementos:
<SOAP-ENV:envelope>
<!— Elemento raiz do SOAP e define que essa é uma mensagem SOAP-->
<SOAP-ENV:header>
<!—Especifica informações especificas como autenticação (opcional)-->
</SOAP-ENV:header>
<SOAP-ENV:body>
<!—O elemento BODY contém o corpo da mensagem-->
<SOAP-ENV:fault>
<!—O elemento FAULT contém os erros que podem ocorrer-->
</SOAP-ENV:fault>
</SOAP-ENV:body>
</SOAP-ENV:envelope>
|
Envelope (obrigatório): é responsável por definir o conteúdo da mensagem;
- encodingStyle: atributo que tem como objetivo especificar como as informações devem ser
codificadas.
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
...
</SOAP-ENV:Header>
<SOAP-ENV:Body>
…
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
|
Header (opcional): contém os dados do cabeçalho;
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
<a:authentication
xmlns:a=”http://www.mauricioreckziegel.com/soap/authentication”>
<a:username>Mauricio</a:username>
<a:password>Reckziegel</a:password>
</a:authentication>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
…
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
|
- actor: especifica o receptor que deve processar o elemento do cabeçalho.
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
<a:authentication
xmlns:a=”http://www.mauricioreckziegel.com/soap/authentication”
SOAP-
ENV:actor=”http://www.mauricioreckziegel.com/soap/authenticator”>
<a:username>Mauricio</a:username>
<a:password>Reckziegel</a:password>
</a:authentication>
|
- musUnderstand: especifica se uma entrada de cabeçalho é obrigatória ou opcional
(booleano).
<SOAP-ENV:Envelope xmlns:SOAP
ENV=”http://schemas.xmlsoap.org/soap/envelope/”
SOAP-ENV:encodingStyle=”http://schemas.xmlsoap.org/soap/encoding/”>
<SOAP-ENV:Header>
<a:authentication
xmlns:a=”http://www.mauricioreckziegel.com/soap/authentication”
SOAP-ENV:mustUndestrand=”1”>
<a:username>Mauricio</a:username>
<a:password>Reckziegel</a:password>
</a:authentication>
|
. Body (obrigatório): contém a codificação atual de uma chamada a um método e todos os
argumentos de entrada ou uma resposta codificada que contém o resultado de uma chamada
de um método.
. Fault: contém as informações dos erros ocorridos no envio da mensagem. Apenas nas
mensagens de resposta do servidor.
O envelope SOAP é a parte obrigatória de uma mensagem SOAP. Ele funciona como um
recipiente de todos os outros elementos da mensagem, possivelmente o cabeçalho e o corpo,
assim como os namespaces de cada um. Assim como o nome e o endereço de uma carta
entregue pelo correio, o envelope SOAP precisa das informações específicas do protocolo de
transporte que está ligado a ele, com o intuito de garantir a chegada ao local certo.
Especificamente no HTTP, temos um cabeçalho que se chama SOAPAction, indicador do
endereço de entrega da mensagem. Um dos principais motivos de implementarmos o
cabeçalho desta maneira é porque administradores de sistemas podem configurar seus
firewalls para filtrar as mensagens baseadas nas informações dos cabeçalhos, sem consultar o
XML.
Elemento
|
Namespace / URI
|
Envelope
|
http://schemas.xmlsoap.org/soap/envelope
|
Serializador
|
http://schemas.xmlsoap.org/soap/encoding
|
SOAP-ENV
|
http://schemas.xmlsoap.org/soap/envelope
|
SOAP-ENC
|
http://schemas.xmlsoap.org/soap/encoding
|
Xsi
|
http://www.w3.org/1999/XMLSchema-instance
|
Xsd
|
http://www.w3.org/1999/XMLSchema
|
Tabela. Namespaces / URI padrões do SOAP