2012-10-16 184 views
1

我正在使用Axis 1.4版本在Eclipse Helios中生成Web服務客戶端。通過使用本地主程序,客戶端存根工作正常,但是當我在GlassFish服務器上部署存根和應用程序時,出現以下異常:Web服務無法在GlassFish上工作

編輯︰現在它給出這樣的例外..

java.lang.IllegalStateException: WEB9031: WebappClassLoader unable to load resource [META-INF/services/org.apache.axis.EngineConfigurationFactory], because it has not yet been started, or was already stopped 
    at org.glassfish.web.loader.WebappClassLoader.findResourceInternal(WebappClassLoader.java:2074) 
    at org.glassfish.web.loader.WebappClassLoader.findResource(WebappClassLoader.java:1034) 
    at org.glassfish.web.loader.WebappClassLoader.getResource(WebappClassLoader.java:1169) 

誰能告訴我,爲什麼它是怎麼回事?

僅當我在GlassFish服務器上部署應用程序時纔會發生這種情況。

謝謝, Gunjan。

+0

你有任何JAX-RPC或AXIS相關的jar到你的共享域ext文件夾中嗎? –

+0

出於好奇:您有使用Axis 1.4的具體原因嗎?這是相當古老的。如果你想使用Axis,爲什麼不使用Axis 2? – joergl

+0

@ Paulius:不,我在GlassFish服務器的lib目錄中添加了axis.jar,xml-rpc.jar nad jax-rpc.jar。它不在域的EXT目錄中。 –

回答

1

This是指你有類似的問題。所以正如我在我的評論中提到的那樣,從全局的glassfish classpath中刪除所有與Axis相關的東西,將它們添加到您的應用程序中,它應該都可以。

這不是一個非常好的做法,以保持框架的具體庫服務器全局庫。在全局類路徑中應該使用JDBC,日誌框架之類的庫,但不要使用WS棧特定的庫。

+0

@ Paulius Matulionis:是的...它的工作正常..從服務器全局目錄和domain'ext目錄中刪除AXIS.jar後。這裏請注意,在域的ext中,我需要添加jax.wsdl.jar文件。 –

+0

@ Paulius Matulionis:我的朋友建議我在sun-web.xml文件中將「委託」屬性設置爲false。例如,它會是這樣的:。我不知道何時使用sun-web.xml。我想要你的建議。這與我的問題有關嗎?這個屬性可以幫助解決這個問題嗎? –

+0

我不知道是什麼,我從來沒有用過它。但正如我所說的,WS框架相關的庫必須在應用程序中,我相信它。 –

相關問題