2

以前の投稿と同様に、次を使用してJAX-WSを使用してWebサービスにアクセスしようとしています。

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_ELEMENTnullではなく2'(トランスフォーマーについて考えます)

私は何を間違っているのですか:(

4

2 に答える 2

0

声明を修正する必要があります

e.getMessage()

エラーメッセージを実際に出力するには:-)それが役立つはずです。

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

またはできれば

e.printStackTrace();
于 2009-04-30T12:37:37.990 に答える
0

おそらくパーサーから。スタック トレースが役立つと思いますが、Xerces/Xalan はそれらを台無しにする傾向があります。

取るべき明白なステップ:

  • 結果を文字列として見てみてください。
  • 今のところトランスフォーマーを無視して、パーサーで解析してみてください。
  • エラーが何であったかを正確に調べてみてください。
于 2009-04-30T12:31:29.893 に答える