Como todo documento XML, uma mensagem SOAP é
composta de tags (elementos). No caso específico em estudo,
há uma restrição sobre as tags de primeiro
nível (tags-raiz ou elementos- raiz): uma mensagem SOAP possui
apenas um elemento-raiz, chamado Envelope.
Um atributo importante, ainda que opcional, desse
elemento é o encodingStyle. Ele pode ser usado em
qualquer elemento de uma mensagem SOAP. O valor desse atributo
é a localização do documento XML que define os
tipos de dados (string, int, dateTime etc) do elemento ao qual ele
pertence e dos seus elementos-filho. A W3C mantém um documento
padrão para ser usado no atributo encodignStyle:
"http://www.w3.org/2001/12/soap-encoding". Esse padrão define
os seguintes tipos:
Nome Tipo Exemplo
xsd:int Inteiro
com 32
bits -12
xsd:boolean Booleano
(1 ou
0) 1
xsd:string Cadeia
de caracteres "Olá"
xsd:float ou xsd:double Ponto
flutuante -12,21
xsd:timeInstant Data
e Hora
2001-03-27T00:00:01-08:00
SOAP-ENC:base64
Binário base 64
bits eW91IGNhbid0IHJlYWQgdGhpcyE=
Por fim, o elemento Envelope deve possuir a
seguinte atribuição de namespace:
xmlns:soap="http://www.w3.org/2001/12/soap-envelope". No caso do
Envelope, o atributo xmlns é obrigatório pois
identifica o envelope como um envelope SOAP; sem essa
identificação, o mesmo não poderia ser interpretado
como tal. O valor desse atributo também é fixo (seria
outro para outra versão do SOAP):
"http://www.w3.org/2001/12/soap-envelope". Daí o uso do
prefixo "soap" em "soap:Envelope" no exemplo dado.