bdaye wrote:
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:


Try it without adding the new lines to the artifact_aliases.properties file. If the version is not specified for dependencies (which we usually attempt to do) it should resolve to the 2.1 jar.

I had a similar problem when I was attempting to override another jar in 2.0.2. When I removed the entries from artifact-aliases it worked.

Joe



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




Reply via email to