2012-10-16 142 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框架相关的库必须在应用程序中,我相信它。 –

相关问题