Re:Dúvida: SOAP HEADER

3 respostas
KWill

Já fiz algo parecido, botei umas informações de login/senha no XML de uma chamada SOAP.
Usei a especificação “UsernameToken” para segurança em web services.
Procure pelas especificações WSS (deve significar web service security ou algo assim) e pesquise sobre a biblioteca WSS4J.

Inté.

3 Respostas

Victor_Yuji_Maehira

Oi pessoal!
Estou desenvolvendo um web service client. No SOAP HEADER message tenho que colocar alguns dados, como login e senha:

<soapenv:Header> <rec:Autenticacao> <!--Optional:--> <rec:usuario>usuario</rec:usuario> <!--Optional:--> <rec:senha>segredo</rec:senha> </rec:Autenticacao> </soapenv:Header> <soapenv:Header> <rec:Autenticacao> <!--Optional:--> <rec:usuario>usuario</rec:usuario> <!--Optional:--> <rec:senha>segredo</rec:senha> </rec:Autenticacao> </soapenv:Header>

A dúvida é como adicionar informações no SOAP HEADER.

Achei alguns tutoriais, a maioria usava a especificação antiga j2ee, sugerindo implementar um handler.
Estava pensando se com as especificações mais recentes, existe uma caminho menos custoso para lidar com o SOAP HEADER.

Obrigado!

Victor_Yuji_Maehira

Boa tarde!
Valeu pela dica! Acredito que você usou uma solução parecida com a do link abaixo:

http://www.javadb.com/using-a-message-handler-to-alter-the-soap-header-in-a-web-service-client

Eu segui o tutorial. No entanto a situação é a seguinte:

  • ao adicionar um header, é dito que o header já existe: “Can’t add a header when one is already present”
  • ao ler o header, recebo um nul

Código:

SOAPEnvelope envelope = context.getMessage().getSOAPPart().getEnvelope(); SOAPHeader header = envelope.addHeader(); //SOAPHeader header = envelope.getHeader();

Situação muito próxima de um colega: http://forums.java.net/jive/thread.jspa?threadID=38210

Victor_Yuji_Maehira

Boa noite!
Apenas para constar e deixar como histórico! O problema foi solucionado baseado no link abaixo:

http://forums.java.net/jive/thread.jspa?threadID=38210

Thanks!

Criado 18 de fevereiro de 2009
Ultima resposta 18 de fev. de 2009
Respostas 3
Participantes 2