Error al crear HEADER de seguridad con JAXB

Saludos a todos,

Me topado con el siguiente error al querer agregar el header de seguridad en un web service desarrollado con sprinframework y JAXB:
javax.xml.soap.SOAPException: unable to find namespace for prefix: wsse
at weblogic.xml.saaj.SOAPElementImpl.addChildElement(SOAPElementImpl.java:357)
at pr.com.prt.eppaSapInt.ws.SecurityHeader.doWithMessage(SecurityHeader.java:48)

Esto es lo que mando como request:
[SaajUtils] SOAPElement [weblogic.xml.saaj.SOAPEnvelopeImpl] implements SAAJ 1.3
[SaajUtils] SOAPElement [weblogic.xml.saaj.SOAPBodyImpl] implements SAAJ 1.3
[sent] Sent request [DATOS EN GENERAL]
[received] Received response [AQUI COLOCA EL XML QUE MANDO]
[WebServiceTemplate] Received Fault message for request [SaajSoapMessage {http://americamovil.com/EPPA/PR/FHR/Empleados}MT_Empleados_req]
[SaajUtils] SOAPElement [weblogic.xml.saaj.SOAPFaultImpl] implements SAAJ 1.3

Este es el código donde creo el header:
public class SecurityHeader implements WebServiceMessageCallback{

@Override
public void doWithMessage(WebServiceMessage wsMessage) throws IOException, TransformerException {
SOAPMessage soapMessage = ((SaajSoapMessage)wsMessage).getSaajMessage();

SOAPHeader header;
SOAPHeaderElement security;
SOAPHeaderElement usertoken;
SOAPElement username;
SOAPElement password;

try {
header = soapMessage.getSOAPHeader();

security = header.addHeaderElement(new QName("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", "Security", "wsse"));
usertoken = header.addHeaderElement(new QName("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd", "UsernameToken", "wsu"));

username = usertoken.addChildElement("Username", "wsse");
password = usertoken.addChildElement("Password", "wsse");
password.setAttribute("Type","http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText");

username.setTextContent("eppa2SAP_app");
password.setTextContent("eppa2SAP_app123");

security.addChildElement(username);
security.addChildElement(password);
security.addChildElement(usertoken);

JAXBContext context = JAXBContext.newInstance();

Marshaller marshaller = context.createMarshaller();
marshaller.marshal(null, ((SoapHeader) soapMessage).getResult());

} catch (JAXBException e) {
throw new IOException("error while marshalling authentication JAXB.");
} catch (MarshallingException e) {
throw new IOException("error while marshalling authentication exception.");
} catch (SOAPException e1) {
e1.printStackTrace();
}

}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de SuperSerch

unable to find namespace for prefix

revisa el xml que genera, pareciera que en algún lado está generando un tag o una etiqueta que empieza con wsse:
por eso el error que da de: unable to find namespace for prefix: wsse
Es decir, un parser esta tratando de traducir de wsse a su nombre completo y pues no existe ene namespace

Imagen de adrianaaae

Revisa el esquema.

Revisa el esquema que se encuentran en las dos URL a las que haces referencia; si te fijas bien no existe ningun tag "wsse".

http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secex...
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utili...

Si te fijas en el codigo al esquema original header se asignas dos tags
Uno con el que te marca error "wsse".

Cuando se trata de generar el XML a partir de los esquemas (que se encuentran en las direcciones anteriores)
no se cuentra el tag "wsse" por eso te marca ese error.