2009-04-30 8 views
1

ähnlich ein older post Ich versuche, einen Web-Service mit JAX-WS für den Zugriff mit:Transformation Fehler: "Das aktuelle Ereignis wird nicht start_element aber 2"

Dispatch<Source> sourceDispatch = null; 
sourceDispatch = service.createDispatch(portQName, Source.class, Service.Mode.PAYLOAD); 
Source result = sourceDispatch.invoke(new StreamSource(new StringReader(req))); 
System.out.println(sourceToXML(result)); 

wo:

private static String sourceToXML(Source result) { 
    Node rootNode= null; 
    try { 
     TransformerFactory factory = TransformerFactory.newInstance(); 
     Transformer transformer = factory.newTransformer(); 
     DOMResult domResult = new DOMResult(); 
     transformer.transform(result, domResult); 
     rootNode = (Node) domResult.getNode(); 
    } catch (TransformerException e) { 
     e.getMessage(); 
    } 

    return rootNode.getFirstChild().getNodeValue(); 
} 

aber ich der Fehler ‚das aktuelle Ereignis start_element ist nicht null, aber 2‘ (ich glaube, am Transformator)

Was ich tue, falsch :(

Antwort

0

Vermutlich aus dem Parser. Ich würde sagen, dass eine Stapelverfolgung hilfreich wäre, aber Xerces/Xalan neigt dazu, diese zu vermasseln.

Offensichtliche Schritte zu unternehmen:

  • Versuchen Sie das Ergebnis als String suchen.
  • Versuchen Sie, mit einem Parser zu analysieren, ignorieren Sie den Transformator für jetzt.
  • Versuchen Sie herauszufinden, was genau der Fehler war.
+0

Der Stack-Trace: http://collabedit.com/display?id=44647 –

0

Sie sollten Ihre Aussage

e.getMessage() 

tatsächlich drucken Sie die Fehlermeldung ändern :-) Das sollte helfen.

System.err.println(e.getMessage()); 

oder vorzugsweise

e.printStackTrace(); 
+0

Oder besser neue Fehler werfen (EXC); –

+0

Der Stack-Trace: http://collabedit.com/display?id=44647 –