Aha.
It is the because the oc4j'sWebService class is out of date.
You need let oc4j load the CXF shipped geronimo-ws-metadata*.jar first.
You can find more information about how to let CXF work with AppServer
here[1]
[1]http://cwiki.apache.org/CXF20DOC/appserverguide.html
Willem.
Hoda, Nadeem [USA] wrote:
Thanks Glen. Your weblog is very, very helpful.
I added xerces and removed oracle.xml, but now I get the following
error:
07/10/29 11:47:38.718 helloworld: 10.1.3.3.0 Started
07/10/29 11:48:11.671 helloworld: Error initializing servlet
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'hello_world': Invocation of init method failed; nested
exception is java.lang.NoSuchMethodError:
javax.jws.WebService.portName()Ljava/lang/String;
Caused by: java.lang.NoSuchMethodError:
javax.jws.WebService.portName()Ljava/lang/String;
at
org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(JaxWsImplem
entorInfo.java:286)
at
org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(JaxWsImplemento
rInfo.java:57)
at
org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:243)
at
org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:227)
at
org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:179)
at
org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:340)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1214
)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1179)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.initializeBean(AbstractAutowireCapableBeanFactory.java:1145)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:427)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjec
t(AbstractBeanFactory.java:251)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.g
etSingleton(DefaultSingletonBeanRegistry.java:144)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:248)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:160)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.pre
InstantiateSingletons(DefaultListableBeanFactory.java:279)
at
org.springframework.context.support.AbstractApplicationContext.refresh(A
bstractApplicationContext.java:360)
at
org.apache.cxf.transport.servlet.CXFServlet.loadAdditionalConfig(CXFServ
let.java:203)
at
org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.jav
a:171)
at
org.apache.cxf.transport.servlet.CXFServlet.init(CXFServlet.java:98)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpApplication.loadServlet(HttpApplication.java:2371)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpApplication.findServlet(HttpApplication.java:4824)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpApplication.findServlet(HttpApplication.java:4748)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:
2971)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.jav
a:741)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:
453)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java
:221)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at
oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocke
tReadHandler.java:260)
at
oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSoc
ketAcceptHandler.java:239)
at
oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcc
eptHandler.java:34)
at
oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(Ser
verSocketAcceptHandler.java:880)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourceP
ooledExecutor.java:298)
at java.lang.Thread.run(Thread.java:595)
07/10/29 11:48:11.671 helloworld: Servlet error
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'hello_world': Invocation of init method failed; nested
exception is java.lang.NoSuchMethodError:
javax.jws.WebService.portName()Ljava/lang/String;
Caused by: java.lang.NoSuchMethodError:
javax.jws.WebService.portName()Ljava/lang/String;
at
org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialise(JaxWsImplem
entorInfo.java:286)
at
org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(JaxWsImplemento
rInfo.java:57)
at
org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:243)
at
org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:227)
at
org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:179)
at
org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:340)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1214
)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1179)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.initializeBean(AbstractAutowireCapableBeanFactory.java:1145)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapableBeanFactory.java:427)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjec
t(AbstractBeanFactory.java:251)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.g
etSingleton(DefaultSingletonBeanRegistry.java:144)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:248)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(Ab
stractBeanFactory.java:160)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.pre
InstantiateSingletons(DefaultListableBeanFactory.java:279)
at
org.springframework.context.support.AbstractApplicationContext.refresh(A
bstractApplicationContext.java:360)
at
org.apache.cxf.transport.servlet.CXFServlet.loadAdditionalConfig(CXFServ
let.java:203)
at
org.apache.cxf.transport.servlet.CXFServlet.loadSpringBus(CXFServlet.jav
a:171)
at
org.apache.cxf.transport.servlet.CXFServlet.init(CXFServlet.java:98)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpApplication.loadServlet(HttpApplication.java:2371)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpApplication.findServlet(HttpApplication.java:4824)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpApplication.findServlet(HttpApplication.java:4748)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpApplication.getRequestDispatcher(HttpApplication.java:
2971)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.jav
a:741)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:
453)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java
:221)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)
at
oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocke
tReadHandler.java:260)
at
oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSoc
ketAcceptHandler.java:239)
at
oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcc
eptHandler.java:34)
at
oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(Ser
verSocketAcceptHandler.java:880)
at com.evermind[Oracle Containers for J2EE 10g (10.1.3.3.0)
].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourceP
ooledExecutor.java:298)
at java.lang.Thread.run(Thread.java:595)
Do I have to add additional jars to the CXF war file to fix this? Is
this a known issue that others have hit?
I'm using Java 5 with out-of-the-box oc4j 1013 and wsdl_first sample
(except for adding xerces to oc4j.)
Thanks,
Nadeem
-----Original Message-----
From: Glen Mazza [mailto:[EMAIL PROTECTED]
Sent: Sunday, October 28, 2007 6:41 PM
To: [email protected]
Subject: Re: CXF + oc4j
Am Sonntag, den 28.10.2007, 09:21 -0400 schrieb Hoda, Nadeem [USA]:
Anybody have trouble with CXF on oc4j (10.1.3.3.0) app server?
Out of the box, I get the following error with the wsdl_first sample
(this same helloworld.war works fine with tomcat 5.5):
07/10/28 16:38:03.656 helloworld: Error initializing servlet
java.lang.RuntimeException:
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'org.apache.cxf.wsdl.WSDLManager' defined in
class path resource [META-INF/cxf/cxf.xml]: Instantiation of bean
failed; nested exception is
org.springframework.beans.BeanInstantiationException: Could not
instantiate bean class [org.apache.cxf.wsdl11.WSDLManagerImpl]:
Constructor threw exception; nested exception is
java.lang.ClassCastException: oracle.xml.parser.v2.DTD at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.
ja
va:87)
at
You may need to switch from the Oracle XML libraries to Apache ones
(Xerces). That is commonly done. See 2(b) here:
http://www.jroller.com/gmazza/entry/migrating_spring_based_webapp_from
If that doesn't fix it, classloader logging might also help point to the
problem (same blog entry).
HTH,
Glen