2012-12-20 96 views
1

我正在使用Tomcat 6,並且我有一個使用SOAP Web服務的Web應用程序。我生成的客戶端類利用CXF-CODEGEN-插件在Maven的使用,我的依賴是:關於重新部署Tomcat的SOAP Web服務NPE 6

<dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-api</artifactId> 
     <version>2.6.1</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-rt-transports-http</artifactId> 
     <version>2.6.1</version> 
    </dependency> 

一切工作,直到我重新部署在Tomcat上我的戰爭(甚至做就可以了簡單的觸摸:沒有代碼修改爲所有)。使用相同的URL來訪問我的網頁,使SOAP服務呼叫我有這個奇怪的NPE:

java.lang.NullPointerException 
at com.ctc.wstx.util.SymbolTable.findSymbol(SymbolTable.java:385) 
at com.ctc.wstx.sr.StreamScanner.parseLocalName(StreamScanner.java:1831) 
at com.ctc.wstx.sr.BasicStreamReader.handleNsAttrs(BasicStreamReader.java:2997) 
at com.ctc.wstx.sr.BasicStreamReader.handleStartElem(BasicStreamReader.java:2941) 
at com.ctc.wstx.sr.BasicStreamReader.handleRootElem(BasicStreamReader.java:2078) 
at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2058) 
at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1117) 
at com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:81) 
at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.next(XMLStreamReaderUtil.java:78) 
at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.nextContent(XMLStreamReaderUtil.java:99) 
at com.sun.xml.internal.ws.streaming.XMLStreamReaderUtil.nextElementContent(XMLStreamReaderUtil.java:89) 
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.hasWSDLDefinitions(RuntimeWSDLParser.java:209) 
at com.sun.xml.internal.ws.wsdl.parser.RuntimeWSDLParser.parse(RuntimeWSDLParser.java:119) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:254) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:217) 
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:165) 
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:93) 
at javax.xml.ws.Service.<init>(Service.java:56) 
at some.package.flightinfo.model.flightstatsv2.soap.AirportsV1SoapService.<init>(AirportsV1SoapService.java:48) 
at some.package.flightinfo.adapter.FlightStatsV2ContentAdapter.getAirportsByGPSCoordinate(FlightStatsV2ContentAdapter.java:107) 

我可以讓我的web應用程序再次合作是爲了重新啓動Tomcat這是沒有選擇可言的唯一途徑。

我完全不知道發生了什麼,有沒有人曾經遇到過這個問題?

乾杯。

回答

1

那麼,你錯過了cxf-rt-frontend-jaxws依賴關係。因此,您最終將使用內置於JDK中的JAX-WS引用impl,而不是CXF。如果您添加CXF依賴項,那麼是否解決了這個問題?可能是RI中的一個bug或其他東西。

+0

沒有,不解決它不幸的是:(無論如何:) –