If you are using Axiom-based messages and you are trying to inspect complex SOAP header elements (say in an interceptor), then it is not easy to access the child elements of a AxiomSoapHeaderElement.
Ideally the general SoapHeaderElement interface would allow this. But the AxiomSoapHeaderElement does not either. The getAxiomHeaderBlock() method is protected too.
To get access to the underlying Axiom elements you have to go all the up to the AxiomSoapMessage and use getAxiomMessage() and drill down from there.
At a minimum it would be nice if the various AxiomSoap* classes had public methods to access the underlying Axiom elements.