You can add the custom SOAP header in Axis 2 v1.6.2 in the following way:
OMFactory fac = OMAbstractFactory.getOMFactory();
SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
OMNamespace nsWSSE = fac
.createOMNamespace(
"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd",
"wsse");
SOAPHeaderBlock header = factory.createSOAPHeaderBlock("Security",
nsWSSE);
header.setMustUnderstand(true);
OMElement usernameToken = fac.createOMElement("UsernameToken", nsWSSE);
OMElement tenant = fac.createOMElement("tenant", null);
tenant.setText("DEFAULT");
usernameToken.addChild(tenant);
OMElement username = fac.createOMElement("Username", nsWSSE);
username.setText("Admin");
usernameToken.addChild(username);
OMElement password = fac.createOMElement("Password", nsWSSE);
password.addAttribute("Type",
"http://www.visual-rules.com/wss#PasswordText", null);
password.setText("Admin");
usernameToken.addChild(password);
header.addChild(usernameToken);
System.out.println(header);
ServiceClient sender = new ServiceClient();
sender.addHeader(header);