Olá pessoal,
Estou tentado utlizar o AXIS para acessar um web service que necessita de autenticação. Sei que preciso ter o seguinte trecho de xml na minha mensagem:
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext"
soapenv:mustUnderstand="true">
<wsse:UsernameToken>
<wsse:Username>usuario</wsse:Username>
<wsse:Password Type="wsse:PasswordText">senha</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
Estou utilizando o seguinte trecho de código para colocar os parametros na mensagem:
private void preparaAutenticacao(Call call) {
try {
SOAPHeaderElement wsseSecurityToken = new SOAPHeaderElement(new QName("wsse", "Security"));
wsseSecurityToken.addAttribute("xmlns", "wsse", "http://schemas.xmlsoap.org/ws/2002/07/secext");
wsseSecurityToken.addAttribute("soapenv", "wsse", "http://schemas.xmlsoap.org/ws/2002/07/secext");
wsseSecurityToken.setMustUnderstand(true);
SOAPElement wsseUsernameToken= wsseSecurityToken.addChildElement("wsse","UserNameToken");
SOAPElement wsseUserNameElement = wsseUsernameToken.addChildElement("wsse","Username");
wsseUserNameElement.setValue("username_1");
SOAPElement wssePasswordElement = wsseUsernameToken.addChildElement("wsse","Username");
wssePasswordElement.setValue("password_1");
call.addHeader(wsseSecurityToken);
} catch (SOAPException e) {
e.printStackTrace();
}
}
Estou recebendo o seguinte retorno do web service:
WSDoAllReceiver: Request does not contain required Security header
Alguém sabe o jeito correto de se adicionar esses parametros ao xml no java?
Agradeço desde já.
Obrigado.