Ошибка преобразования: «Текущее событие не START_ELEMENT, а 2» - PullRequest
1 голос
/ 30 апреля 2009

Аналогично более старому сообщению Я пытаюсь получить доступ к веб-службе с помощью JAX-WS, используя:

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));

где:

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();
}

но я получаю ошибку 'Текущее событие не START_ELEMENT null, а 2' (я думаю о преобразователе)

Что я делаю не так: (

Ответы [ 2 ]

0 голосов
/ 30 апреля 2009

Вы должны изменить свое заявление

e.getMessage()

чтобы фактически напечатать сообщение об ошибке :-) Это должно помочь.

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

или предпочтительно

e.printStackTrace();
0 голосов
/ 30 апреля 2009

Предположительно от парсера. Я бы сказал, что трассировка стека была бы полезна, но у Xerces / Xalan есть тенденция их испортить.

Очевидные шаги:

  • Попробуйте посмотреть результат как строку.
  • Попробуйте выполнить синтаксический анализ с парсером, игнорируя теперь преобразователь.
  • Попробуйте выяснить, в чем именно заключается ошибка.
...