2014-05-11 103 views
0

我正在嘗試使用Apache CXF 2.7.11構建WS客戶端。我使用wsdl2java工具創建了示例類。我有一個Eclipse項目:嘗試運行由ws​​dl2java生成的代碼時出現NullPointerException

  • 所有的代碼從已安裝的/ lib目錄
  • 所有jar文件由WSDL2Java的生成。

我基本上是按照本教程:http://cxf.apache.org/docs/developing-a-consumer.html

當我運行由wsdl2java創建示例代碼中,我得到這個錯誤:

Exception in thread "main" java.lang.NullPointerException 
at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:98) 
at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:204) 
at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:149) 
at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:101) 
at javax.xml.ws.Service.<init>(Service.java:67) 
at com.twinfield.Session.<init>(Session.java:46) 
at com.twinfield.SessionSoap_SessionSoap_Client.main(SessionSoap_SessionSoap_Client.java:48) 

使用調試器,我發現空有問題是由CXFBusImpl.getExtension(WSDLManager.class)造成的。在WSDLServiceFactory.java線98曰:

definition = getBus().getExtension(WSDLManager.class).getDefinition(url); 

我認爲這個問題是我的WSDL位置,但高於基於可能不是如此呢?我已經嘗試使用本地文件和URL作爲wsdl2java的-wsdlLocation開關的值。 (目前我根本不使用這個參數)

網頁搜索在2.0和2.4版本中只出現了一些非常古老的問題。有一個類似的問題在這裏:Null Pointer Exception in WSDServiceFactory - Apache CXF libs,但答案只是使用舊版本...

這可能是一個配置問題?我的項目中是否需要任何配置文件?

+0

我發現類似的問題檢查可能的解決方案http://stackoverflow.com/questions/30578380/error-after-upgrading-camel-cxf-to-2-15-2-class-cast-exception/42023591# 42023591 –

回答

0

此錯誤顯然是由不兼容的庫版本引起的。看起來,至少由wsdl2java生成的WS客戶端代碼可以在Domino 9.0.1中運行,而無需從CXF添加任何jar(我已經爲該項目添加了一些jar)。

相關問題