In some cases XFire client calls to other servers failed with a NPE.
Surprisingly that occured only in some configurations when calls where made from code that was deployed in an OC4J container.
Reason for the NPE:
W3CNamespaceContext.getPrefix(Element e, String uri) does not check if the result 'org.w3c.dom.Element.getAttributes()' is a null.
The next line uses the returned object and fails if it was null.
I added the null-check and the code works fine - even in OC4J 
The patched class is attached to this report.
oc4j version number: oc4j10.1.3
oc4j uses an own jaxp implementation that returns 'null' on getAttributes() when there is no attribute.
That is ok, since the Element interface specification allows that behavior.
Xerces returns an empty nodemap in that situation, which is also allowed.
I have not scanned the rest of the xfire code for unchecked getAttributes() results.