Pessoal.
Procurei no fórum e não encontrei nada para me ajudar.
Não sei também se estou no subfórum correto.
Mas a questão é que preciso acessar o WS da CTF.
Criei via wizard do Eclipse as classes para acessar.
Porém o WS da CTF necessita de um header com login e senha.
O wizard do Eclipse não criou isso.
Então fiquei “estonado” porque apesar de conhecer alguma coisa sobre WS ( já fiz um e fiz varios clientes para WS .net, php etc… ) nunca usei o header.
Alguem já passou por isso e pode dar uma dica de como colocar tags no header nas classes geradas pelo Eclipse?
As tentativas que fiz usando SOAPHeaderElement não funcionaram.
Olhem o que já fiz:
[code] WsCopiaSoap ws = sampleWsCopiaSoapProxyid.getWsCopiaSoap();
SOAPHeaderElement soapLogin = new SOAPHeaderElement(“http://tempuri.org/”, “SoapLogin”);
SOAPHeaderElement login = new SOAPHeaderElement(“http://tempuri.org/","login”);
login.addTextNode(“usuariodologin”);
SOAPHeaderElement senha = new SOAPHeaderElement(“http://tempuri.org/”, “senha”);
senha.addTextNode(“senhasecreta”);
soapLogin.addChild(login);
soapLogin.addChild(senha);
((Stub)ws).setHeader(soapLogin);
java.lang.String listarTemplatesDisponiveis13mtemp = sampleWsCopiaSoapProxyid.listarTemplatesDisponiveis();[/code]
Agradeço antecipadamente.
[quote=Régis Steigleder]Pessoal.
Procurei no fórum e não encontrei nada para me ajudar.
Não sei também se estou no subfórum correto.
Mas a questão é que preciso acessar o WS da CTF.
Criei via wizard do Eclipse as classes para acessar.
Porém o WS da CTF necessita de um header com login e senha.
O wizard do Eclipse não criou isso.
Então fiquei “estonado” porque apesar de conhecer alguma coisa sobre WS ( já fiz um e fiz varios clientes para WS .net, php etc… ) nunca usei o header.
Alguem já passou por isso e pode dar uma dica de como colocar tags no header nas classes geradas pelo Eclipse?
As tentativas que fiz usando SOAPHeaderElement não funcionaram.
Olhem o que já fiz:
[code] WsCopiaSoap ws = sampleWsCopiaSoapProxyid.getWsCopiaSoap();
SOAPHeaderElement soapLogin = new SOAPHeaderElement(“http://tempuri.org/”, “SoapLogin”);
SOAPHeaderElement login = new SOAPHeaderElement(“http://tempuri.org/","login”);
login.addTextNode(“usuariodologin”);
SOAPHeaderElement senha = new SOAPHeaderElement(“http://tempuri.org/”, “senha”);
senha.addTextNode(“senhasecreta”);
soapLogin.addChild(login);
soapLogin.addChild(senha);
((Stub)ws).setHeader(soapLogin);
java.lang.String listarTemplatesDisponiveis13mtemp = sampleWsCopiaSoapProxyid.listarTemplatesDisponiveis();[/code]
Agradeço antecipadamente.
[/quote]
Em geral, eu prefiro colocar headers dentro de uma estrutura chamada HandlerChain (todo cliente JAX-WS tem isso). Já deu uma olhada, sabe qual é a idéia?
[]'s
Alexandre, não conheço isso.
Mas obrigado pela dica vou procurar material de estudo sobre Handler Chain.
Posto mais tarde minhas descobertas.
Bah! Tô completamente perdido nessa!
Não sei por onde.
O problema acho é que não sei como que funciona a coisa.
Eu sempre pedi pro Eclipse fazer pra mim.
Então não sei como que as classes geradas funcionam.
Sempre usei como “caixa preta”.
E uso a versão 1 do wizard.

Como gosto de uma boa briga, segui em frente.
segue o código que fez a bagaça funcionar:
[code] WsCopiaSoap ws = sampleWsCopiaSoapProxyid.getWsCopiaSoap();
SOAPHeaderElement soapLogin = new SOAPHeaderElement("http://tempuri.org/", "SoapLogin");
soapLogin.setMustUnderstand(false);
SOAPElement login = soapLogin.addChildElement("login");
login.setValue("usuario");
SOAPElement senha = soapLogin.addChildElement("senha");
senha.setValue("senhasecreta");
((Stub)ws).setHeader(soapLogin);
// dai basta chamar o método[/code]
[quote=Régis Steigleder]Como gosto de uma boa briga, segui em frente.
segue o código que fez a bagaça funcionar:
[code] WsCopiaSoap ws = sampleWsCopiaSoapProxyid.getWsCopiaSoap();
SOAPHeaderElement soapLogin = new SOAPHeaderElement("http://tempuri.org/", "SoapLogin");
soapLogin.setMustUnderstand(false);
SOAPElement login = soapLogin.addChildElement("login");
login.setValue("usuario");
SOAPElement senha = soapLogin.addChildElement("senha");
senha.setValue("senhasecreta");
((Stub)ws).setHeader(soapLogin);
// dai basta chamar o método[/code][/quote]
Código Axis2?