2014-09-24 137 views
0

我使用wsimport生成Web服务客户端存根。从命令行导入后,我可以在Eclipse中看到生成的代码。我没有生成代码的问题。所生成的类编译罚款,但生成的存根调用任何方法时,它会导致JAX-WS和wsimport,生成的客户端存根导致异常

java.lang.NullPointerException 
at org.apache.xalan.transformer.TransformerIdentityImpl.setDocumentLocator(TransformerIdentityImpl.java:823) 
at com.sun.xml.bind.v2.runtime.unmarshaller.DomLoader$State.<init>(DomLoader.java:78) 
at com.sun.xml.bind.v2.runtime.unmarshaller.DomLoader.startElement(DomLoader.java:113) 
at com.sun.xml.bind.v2.runtime.unmarshaller.ProxyLoader.startElement(ProxyLoader.java:55) 
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:449) 
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:427) 
at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:275) 
at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:209) 
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:358)` 

通过查看错误的“解组”的一部分,我认为这可能是曾与版本的兼容性做的。

点击和检查Service.GetPort()方法显示我的是,这里所使用的JAX-WS版本是JAX-WS RI 2.1.3-b02-, 的值,而在命令行上wsimport -version返回版本JAX-WS RI 2.1.6在JDK(其中我最初上运行的wsimport) 6.

版本差异会导致此异常吗?有没有人见过这个例外?我如何对齐版本?

+0

Hello @ user3465652,你可以发布生成的代码,或者至少是从中生成类的WSDL吗? – Victor 2014-09-24 16:01:51

+0

Hi @ user3465652,你能解决这个异常吗?我现在面临同样的问题。 – vijayashankard 2014-11-26 06:10:05

+0

@ vijvij123是的,现在解决了这个问题。事实证明,java(JDK)版本和xalan.jar(这是项目引用的jar)之间不匹配。我使用的是JDK 6,xalan jar是1.x版本。我下载了最新版本的xalan.jar,问题消失了。 – NaNey 2014-12-04 14:16:11

回答

0

原来是Java(JDK)版本和xalan.jar(它是项目引用的jar)之间的不匹配。我使用的是JDK 6,xalan jar是1.x版本。我下载了最新版本的xalan.jar,问题消失了。

相关问题