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