The EJB needs to use the jaxws-api-2.1 jar to run successfully. I have
attempted to follow the given instructions...
I have removed the axis2-jaxws-api from the geronimo repo. I have added the
jaxws-api-2.1 jar to the geronimo repo and added the supplied lines to the
artifact_aliases.properties file (of course changing the location of the
jaxws-api jar). Geronimo will not start, here is the trace:
08:54:15,468 ERROR [GBeanInstanceState] Error while starting; GBean is now
in the FAILED state:
abstractName="org.apache.geronimo.configs/jee-specs/2.0.2/car?configurationName=org.apache.geronimo.configs/jee-specs/2.0.2/car"
org.apache.geronimo.kernel.repository.MissingDependencyException: Unable to
resolve dependency org.apache.axis2/axis2-jaxws-api/1.3/jar
at
org.apache.geronimo.kernel.config.ConfigurationResolver.resolve(ConfigurationResolver.java:114)
at
org.apache.geronimo.kernel.config.Configuration.buildClassPath(Configuration.java:405)
at
org.apache.geronimo.kernel.config.Configuration.createConfigurationClasssLoader(Configuration.java:322)
at
org.apache.geronimo.kernel.config.Configuration.<init>(Configuration.java:267)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance(GBeanInstance.java:946)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart(GBeanInstanceState.java:268)
at
org.apache.geronimo.gbean.runtime.GBeanInstanceState.start(GBeanInstanceState.java:102)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.start(GBeanInstance.java:539)
at
org.apache.geronimo.kernel.basic.BasicKernel.startGBean(BasicKernel.java:361)
at
org.apache.geronimo.kernel.config.KernelConfigurationManager.load(KernelConfigurationManager.java:160)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:310)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager.loadConfiguration(SimpleConfigurationManager.java:278)
at
org.apache.geronimo.kernel.config.SimpleConfigurationManager$$FastClassByCGLIB$$ce77a924.invoke(<generated>)
at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
at
org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
at
org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:124)
at
org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:830)
at
org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
at
org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:35)
at
org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
at
org.apache.geronimo.kernel.config.EditableConfigurationManager$$EnhancerByCGLIB$$2c64bbf.loadConfiguration(<generated>)
at
org.apache.geronimo.system.main.EmbeddedDaemon.doStartup(EmbeddedDaemon.java:153)
at
org.apache.geronimo.system.main.EmbeddedDaemon.execute(EmbeddedDaemon.java:78)
at
org.apache.geronimo.kernel.util.MainConfigurationBootstrapper.main(MainConfigurationBootstrapper.java:45)
at org.apache.geronimo.cli.AbstractCLI.executeMain(AbstractCLI.java:67)
at org.apache.geronimo.cli.daemon.DaemonCLI.main(DaemonCLI.java:30)
djencks wrote:
>
> Are you trying to use our copy of axis2 or cxf or are you trying to
> use some jaxws implementation you are supplying yourself?
>
> I think that you may have trouble since AFAIK we are required in java
> ee to support jaxws 2.0 which IIUC is not completely compatible with
> jaxws 2.1.
>
> What I would try is:
>
> remove the axis2-jaxws-api jar to be sure it doesn't get used by
> mistake :-)
> put the jaxws-api-2.1 jar in an appropriate place in the geronimo
> repo, say com/sun/specs/jaxws-api/2.1/jaxws-api-2.1.jar
> add lines to var/config/artifact_aliases.properties mapping the jar
> we provide to the jar you want:
>
> org.apache.axis2/axis2-jaxws-api//jar=com.sun.specs/jaxws-api/2.1/jar
> org.apache.axis2/axis2-jaxws-api/1.3/jar=com.sun.specs/jaxws-api/2.1/jar
>
> This should replace the axis jar with your jar in the jee-specs
> classloader, and as long as there are no incompatible class changes
> everything should work.
>
> Hope this helps and please let us know the results
>
> thanks
> david jencks
>
>
> On Jan 29, 2008, at 2:56 PM, Jon wrote:
>
>> Hello,
>>
>> I am trying to get an EJB to work correctly within Geronimo. I
>> seem to be having a classloader issue. The jaxws-api-2.1 jar is in
>> my EAR file. I need for my EJB to use the jaxws-api-2.1 jar and
>> not the javax.xml.ws.* classes found in the axis2-jaxws-api
>> module. The axis2-jaxws-api jar uses older classes that do not
>> support the Service.createDispatch(EndpointReference, JAXBContext,
>> Mode, WebServiceFeature...) method. I have tried changing the
>> jaxws provider to CXF and still no luck because it seems that they
>> both hit the same underlying jar. In the 2.0.2 Geronimo build, you
>> can find the jar at {geronimo.home}/repository/org/apache/axis2/
>> axis2-jaxws-api/1.3. I have tried to incorporate other
>> configuration found in the deployment-1.2 schema including inverse-
>> classloading and hidden-classes (supplying filter javax.xml.ws and
>> javax.xml.ws.spi). If I drop the jaxws-api-2.1 jar into the
>> Geronimo endorsed dir, it explodes. If anyone has any suggestions
>> as to how I can get the EJB to work correctly using the jaxws-api
>> 2.1 jar, I would really appreciate it.
>>
>> -Brandon
>
>
>
--
View this message in context:
http://www.nabble.com/jaxws-api-2.1-Classloading-tp15173009s134p15182988.html
Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.