По сути, вам нужно перебрать плечо, чтобы поцарапать задницу.
Используйте JAXBContext, чтобы создать маршаллер, преобразовав все это в строку.Затем преобразуйте строку в элемент xml.
private static Element JAXBElementToDomElement(MyClassThatImTryingToConvert element) {
try {
JAXBContext jc = JAXBContext.newInstance(new Class[] {
MyClassThatImTryingToConvert.class, OtherJAXBClasses.class });
Marshaller um = jc.createMarshaller();
StringWriter sw = new StringWriter();
um.marshal(element, sw);
InputStream is = new ByteArrayInputStream(sw.toString().getBytes());
Document xmlDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(is);
return xmlDocument.getDocumentElement();
} catch (Exception ex) {
log.log(Level.FATAL, "can't create dom element", ex);
}
return null;
Существует еще один вариант.Используйте XmlBeans для создания ваших классов (что затруднит использование JAXB и, следовательно, JAX-WS).