2011-03-09 102 views
0

我正在使用Spring 3.0,Spring-WS,運行tc服務器v6的SpringSource工具包開發SOAP Web服務。當我在服務器上運行應用程序時,SpringSource工具包中出現以下異常。Tomcat無法訪問Spring3中的JAR WAR文件

type Exception report message description The server encountered an internal error() that prevented it from fulfilling this request. exception javax.servlet.ServletException: 
     Wrapper cannot find servlet class org.springframework.ws.transport.http.MessageDispatcherServlet or a class it depends on 
    at com.springsource.insight.collection.tcserver.request.HttpRequestOperationCollectionValve.invoke(HttpRequestOperationCollectionValve.java:60)  
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)  
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)  
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)  
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)  
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:379)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)  
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)  
    at java.lang.Thread.run(Thread.java:619)" 

的org.springframework.ws.transport.http.MessageDispatcherServlet類包含彈簧WS-核心2.0.0.RELEASE.jar這是對我的類路徑中。我已驗證.JAR包含在WAR文件中,但仍然出現上述異常。

在Tomcat的獨立安裝以及與STS一起發佈的嵌入式TC Lite服務器中都會出現此錯誤。

回答

1

您可能缺少一些其他依賴的jar。

Wrapper cannot find servlet class org.springframework.ws.transport.http.MessageDispatcherServlet or a "class it depends on" 

取決於,檢查ws-core的pom依賴關係。嘗試修改ws-core的pom範圍進行編譯(如果是這樣的話,可以從提供的範圍中進行編譯)

+0

這是一個深度依賴項,它的作用範圍是「提供的」。我們需要經過幾層POM文件才能看到依賴關係。出於某種原因'mvn dependency:tree'沒有列出超過1或2個層次的「提供的」作用域依賴關係。無論如何,我們只是在沒有範圍的情況下對JAR進行顯式依賴。在運行環境中可能會導致更多問題,我們將看到! – GKelly 2011-03-23 08:21:47