2014-09-24 54 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,問題消失了。

相關問題