Okay, finally solved my own problem. I started with one of the examples from the Article page in the documentation. Unfortunately, that example was created using a 1.0 xfire jar - and the only Invoker it has was org.codehaus.xfire.service.binding.Invoker. This was used to compile my EJBInvoker and would work. After deploying this version of the war - the xfire.1.0.jar got stashed in weblogic's 'donotdelete' folder. Later, I copied the 1.2.6 jar to my lib folder and put it in my war but weblogic still had the 1.0 version - after deleting the 1.0 version for weblogic's folder, I seem to be getting around the NoClassDefFoundError problem.
From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Tue, 31 Jul 2007 17:37:27 +0000Subject: [xfire-user] NoClassDefFoundError for Invoker I have been able to get my EJB exposed as a web service by hard-coding the registration in a servlet that extends XFireServlet, BUT I would prefer to use the XFireConfigurableServlet and use the services.xml file. Some of my previous attempts failed with NoWritablePropertyException for the invoker. I found an old forum posting that suggested some slight changes to the services.xml due to xml namespaces issues. Below is a copy of my current services.xml services.xml-------------------------------------------------------------------------------------------------------------------<beans> <bean id="decryptionInvoker" class="com.jda.portfolio.infrastructure.server.service.security.EJBInvoker"> <constructor-arg value="com.jda.portfolio.infrastructure.server.service.security.DecryptionService"/> </bean> <service xmlns="http://xfire.codehaus.org/config/1.0"> <name>Decryption</name> <serviceClass>com.jda.portfolio.infrastructure.server.service.security.DecryptionService</serviceClass> <implementationClass>com.jda.portfolio.infrastructure.server.service.security.DecryptionServiceBean</implementationClass> <invoker>#decryptionInvoker</invoker> </service> </beans> Which fails with the following:-----------------------------------------------------------------------------------------------------------------------------31-Jul 12:34:06.182 ERROR - XFireServlet.init(40) | Error initializing XFireServlet.org.springframework.beans.factory.BeanDefinitionStoreException: Error registering bean with name 'decryptionInvoker' defined in class path resource [META-INF/xfire/services.xml]: Class that bean class [com.jda.portfolio.infrastructure.server.service.security.EJBInvoker] depends on not found; nested exception is java.lang.NoClassDefFoundError: org/codehaus/xfire/service/invoker/Invokerjava.lang.NoClassDefFoundError: org/codehaus/xfire/service/invoker/Invoker at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:539) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123) at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:476) at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:181) at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:61) at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:46) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:219) at org.springframework.util.ClassUtils.forName(ClassUtils.java:108) at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:65) at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:426) at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinitionElement(DefaultXmlBeanDefinitionParser.java:392) at org.apache.xbean.spring.context.impl.XBeanXmlBeanDefinitionParser.parseBeanDefinitionElement(XBeanXmlBeanDefinitionParser.java:705) at org.apache.xbean.spring.context.impl.XBeanXmlBeanDefinitionParser.parseBeanDefinitions(XBeanXmlBeanDefinitionParser.java:672) at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions(DefaultXmlBeanDefinitionParser.java:191) at org.apache.xbean.spring.context.impl.XBeanXmlBeanDefinitionReader.registerBeanDefinitions(XBeanXmlBeanDefinitionReader.java:78) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:223) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:173) at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:148) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:126) at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:142) at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113) at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.loadBeanDefinitions(ClassPathXmlApplicationContext.java:170) at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:89) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:269) at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:158) at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:58) at org.codehaus.xfire.spring.XFireConfigLoader.loadConfig(XFireConfigLoader.java:66) at org.codehaus.xfire.transport.http.XFireConfigurableServlet.createXFire(XFireConfigurableServlet.java:53) at org.codehaus.xfire.transport.http.XFireServlet.init(XFireServlet.java:36) at javax.servlet.GenericServlet.init(GenericServlet.java:258) at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:1018) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:894) at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:873) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:812) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.java:3281) at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.java:3226) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:3207) at weblogic.servlet.internal.HttpServer.preloadResources(HttpServer.java:694) at weblogic.servlet.internal.WebService.preloadResources(WebService.java:483) at weblogic.servlet.internal.ServletInitService.resume(ServletInitService.java:30) at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131) at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966) at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361) at weblogic.Server.main(Server.java:32)<Jul 31, 2007 12:34:06 PM CDT> <Error> <HTTP> <BEA-101216> <Servlet: "CentralWSServlet" failed to preload on startup inWeb application: "centralwsservlet".javax.servlet.ServletException: Error initializing XFireServlet. -------------------------------------------------------------------------------------------------------------------------------------- I have the xfire-all-1.2.6.jar in my WEB-INF/lib folder. Any ideas on what I am missing or did wrong??? Local listings, incredible imagery, and driving directions - all in one place! Find it! _________________________________________________________________ Don't get caught with egg on your face. Play Chicktionary! http://club.live.com/chicktionary.aspx?icid=chick_wlmailtextlink
