Пока что кажется, что преобразование объекта E4X в String с последующим использованием StAXOMBuilder (или одного из его подклассов) является самым простым вариантом.
XMLInputFactory xif= XMLInputFactory.newInstance();
XMLStreamReader reader= xif.createXMLStreamReader(new StringReader(stringFromRhinoE4X));
StAXOMBuilder builder=new StAXOMBuilder(reader);
OMElement header= builder.getDocumentElement();
Редактировать : Хотя приведенный выше код работает, полученный OMElement не может быть передан в ServiceClient.addHeader (org.apache.axiom.om.OMElement omElement). Следующий код может быть использован для создания OMElement, представляющего SOAPHeader:
CharArrayDataSource arrayDataSource = new CharArrayDataSource(contentXML.toCharArray());
SOAPFactory factory = OMAbstractFactory.getSOAP12Factory();
SOAPHeaderBlock soapHeader = factory.createSOAPHeaderBlock(headerName, factory.createOMNamespace(namespace, nameSpacePrefix), arrayDataSource);
service.addHeader(soapHeader);