If you add dependencies to your pom, these jars should be included automatically in the SU. Make sure you don't have any <classpath/> tag in your xbean.xml for the classloader to automatically pick up those.
On 9/28/07, Ryan Moquin <[EMAIL PROTECTED]> wrote: > I have absolutely zero idea why that would happen... this problem only > seemed to popup once I upgraded. > > What about the other issue of where to properly place jars? I just want to > make sure that how I'm deploying it is correctly, so that I know that what > I'm doing should work and therefore I will know that I have made another > error so far preventing the proper mechanism from working. > > On 9/28/07, Guillaume Nodet <[EMAIL PROTECTED]> wrote: > > > > The DTD problem is not specific to servicemix nor cxf. It sounds like > > you are using jaxb2 to parse a log4j configuration file. The xml > > parser tries to validate the xml and then tries to load the dtd (i > > suppose it is referenced in your xml). You should remove the log4j > > dtd from the xml, disable validation, or put a reference to an > > accessible dtd instead (with an absolute uri). > > > > On 9/28/07, Ryan Moquin <[EMAIL PROTECTED]> wrote: > > > When I was using Servicemix 3.1, I would specify my classpath > > dependencies > > > in the wsdl-first-jsr181-su in the xbean.xml config. That worked fine > > for > > > loading the hibernate class and spring class that I'm using. Eventually > > I > > > had experimented with using a JNDI datasource in servicemix for my > > jsr181 > > > SU, this ended up requiring me to move all of my hibernate dependencies > > and > > > spring dependencies and put them directly into the servicemix lib > > directory > > > or it wouldn't work. > > > > > > I've since switched back to using my own pool, since maintaining > > versions of > > > jars that I have to copy manually into service lib is a pain. Since > > I've > > > upgraded to the newest Servicemix SNAPSHOT, I now do not have any of my > > > hibernate or spring dependencies in the Servicemix lib distribution > > > directory, my CXF services no longer work either. > > > > > > So, if you take the cxf-wsdl-first example for instance, if you had > > added > > > some spring and hibernate dependencies to it, which su pom.xml would it > > be a > > > dependency in? I would have assumed cxf-wsdl-first-cxfse-su, which > > would be > > > the equivalent of where I have defined mine, but when I start up > > servicemix, > > > I get ClassNotFoundExceptions when I deploy that way, I'm guessing > > because > > > the hibernate classes aren't available globally in servicemix, but I > > didn't > > > think they had to be. My other CXF service, doesn't use hibernate or > > spring > > > for anything, so it doesn't get these errors, but instead, servicemix > > can't > > > deploy that SU because it can't find the log4j.dtd, I'm guessing because > > my > > > log4j.xml file is local to my cxfse-su service and not on the global > > > classpath. It looks like it's failing when trying to deploy it to the > > > Servicemix-wsn-2005 component (I deploys it to the cxfse and > > servicemix-wsn > > > as well for notifications... I'm guess that is the correct way to do it, > > or > > > does it result in my service deployed twice?) In 3.2, what is the > > proper > > > place to put dependencies? > > > > > > Both stack traces when I deploy are below: > > > > > > org.springframework.beans.factory.BeanCreationException: Error creating > > bean > > > with name 'entityManagerFactory' defined in > > > class path resource [flare-hibernate-spring.xml]: Invocation of init > > method > > > failed; nested exception is java.lang.NoSuchM > > > ethodError: org.objectweb.asm.ClassWriter.<init>(Z)V > > > Caused by: > > > java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(Z)V > > > at net.sf.cglib.core.DebuggingClassWriter.<init>( > > > DebuggingClassWriter.java:47) > > > at net.sf.cglib.core.DefaultGeneratorStrategy.getClassWriter( > > > DefaultGeneratorStrategy.java:30) > > > at net.sf.cglib.core.DefaultGeneratorStrategy.generate( > > > DefaultGeneratorStrategy.java:24) > > > at net.sf.cglib.core.AbstractClassGenerator.create( > > > AbstractClassGenerator.java:215) > > > at net.sf.cglib.core.KeyFactory$Generator.create(KeyFactory.java > > > :145) > > > at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:117) > > > at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:108) > > > at net.sf.cglib.core.KeyFactory.create(KeyFactory.java:104) > > > at net.sf.cglib.proxy.Enhancer.<clinit>(Enhancer.java:69) > > > at > > > org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory( > > > CGLIBLazyInitializer.java:117) > > > at > > org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate( > > > CGLIBProxyFactory.java:43) > > > at > > org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory( > > > PojoEntityTuplizer.java:162) > > > at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>( > > > AbstractEntityTuplizer.java:135) > > > at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>( > > > PojoEntityTuplizer.java:55) > > > at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping > > > .<init>(EntityEntityModeToTuplizerMapping.java:56) > > > > > > at org.hibernate.tuple.entity.EntityMetamodel.<init>( > > > EntityMetamodel.java:295) > > > at org.hibernate.persister.entity.AbstractEntityPersister > > .<init>( > > > AbstractEntityPersister.java:434) > > > at org.hibernate.persister.entity.SingleTableEntityPersister > > .<init>( > > > SingleTableEntityPersister.java:109) > > > at org.hibernate.persister.PersisterFactory.createClassPersister > > ( > > > PersisterFactory.java:55) > > > at org.hibernate.impl.SessionFactoryImpl.<init>( > > > SessionFactoryImpl.java:226) > > > at org.hibernate.cfg.Configuration.buildSessionFactory( > > > Configuration.java:1294) > > > at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory > > ( > > > Ejb3Configuration.java:691) > > > at > > > > > org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory > > ( > > > HibernatePersistence.java:127) > > > at > > > > > org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory > > > (LocalConta > > > inerEntityManagerFactoryBean.java:218) > > > at > > > > > org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet > > > (AbstractEntityManagerFactoryBe > > > an.java:251) > > > at > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods > > > (AbstractAutowir > > > eCapableBeanFactory.java:1201) > > > at > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean > > > (AbstractAutowireCa > > > pableBeanFactory.java:1171) > > > at > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean > > > (AbstractAutowireCapabl > > > eBeanFactory.java:425) > > > at > > > > > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject( > > > AbstractBeanFactory.java:251) > > > at > > > > > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton > > > (DefaultSingletonBeanRegist > > > ry.java:156) > > > at > > > org.springframework.beans.factory.support.AbstractBeanFactory.getBean( > > > AbstractBeanFactory.java:248) > > > at > > > org.springframework.beans.factory.support.AbstractBeanFactory.getBean( > > > AbstractBeanFactory.java:160) > > > at > > > > > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons > > > (DefaultListableB > > > eanFactory.java:284) > > > at > > > org.springframework.context.support.AbstractApplicationContext.refresh( > > > AbstractApplicationContext.java:352) > > > at > > > org.springframework.context.support.ClassPathXmlApplicationContext > > .<init>( > > > ClassPathXmlApplicationContext.java: > > > 91) > > > at > > > org.springframework.context.support.ClassPathXmlApplicationContext > > .<init>( > > > ClassPathXmlApplicationContext.java: > > > 75) > > > at com.service.hibernate.util.FlareHibernateBeanLocator.locate( > > > FlareHibernateBeanLocator.java:82) > > > at > > > > > com.service.hibernate.util.FlareHibernateBeanLocator.getProcessInstanceFacade > > > (FlareHibernateBeanLocator. > > > java:189) > > > at com.service.workflow.util.WorkflowUtil.<init>( > > WorkflowUtil.java > > > :69) > > > at com.service.workflow.SystemProcessDefinitionHelper.<init>( > > > SystemProcessDefinitionHelper.java:49) > > > at com.service.alert.AlertServiceImpl.<init>( > > AlertServiceImpl.java > > > :33) > > > 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.springframework.beans.BeanUtils.instantiateClass( > > > BeanUtils.java:85) > > > at > > > > > org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate > > > (SimpleInstantiationStrategy. > > > java:61) > > > at > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean > > > (AbstractAutowireC > > > apableBeanFactory.java:756) > > > at > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance > > > (AbstractAutowi > > > reCapableBeanFactory.java:721) > > > at > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean > > > (AbstractAutowireCapabl > > > eBeanFactory.java:384) > > > at > > > > > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean > > > (BeanDefinitionValueReso > > > lver.java:215) > > > at > > > > > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary > > > (BeanDefinitionVa > > > lueResolver.java:122) > > > at > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues > > > (AbstractAutow > > > ireCapableBeanFactory.java:1099) > > > at > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean > > > (AbstractAutowireCapa > > > bleBeanFactory.java:861) > > > at > > > > > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean > > > (AbstractAutowireCapabl > > > eBeanFactory.java:421) > > > at > > > > > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject( > > > AbstractBeanFactory.java:251) > > > at > > > > > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton > > > (DefaultSingletonBeanRegist > > > ry.java:156) > > > at > > > org.springframework.beans.factory.support.AbstractBeanFactory.getBean( > > > AbstractBeanFactory.java:248) > > > at > > > org.springframework.beans.factory.support.AbstractBeanFactory.getBean( > > > AbstractBeanFactory.java:160) > > > at > > > > > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons > > > (DefaultListableB > > > eanFactory.java:287) > > > at > > > org.springframework.context.support.AbstractApplicationContext.refresh( > > > AbstractApplicationContext.java:352) > > > at > > org.apache.xbean.server.spring.configuration.SpringConfiguration > > > .<init>(SpringConfiguration.java:63) > > > at > > > > > org.apache.xbean.server.spring.configuration.SpringConfigurationServiceFactory.createService > > > (SpringConfigurati > > > onServiceFactory.java:106) > > > at org.apache.xbean.kernel.standard.ServiceManager.start( > > > ServiceManager.java:420) > > > at org.apache.xbean.kernel.standard.ServiceManager.initialize( > > > ServiceManager.java:200) > > > at > > > > > org.apache.xbean.kernel.standard.RegistryFutureTask$RegisterCallable.call( > > > RegistryFutureTask.java:110) > > > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java > > > :269) > > > at java.util.concurrent.FutureTask.run(FutureTask.java:123) > > > at > > > org.apache.xbean.kernel.standard.ServiceManagerRegistry.registerService( > > > ServiceManagerRegistry.java:409) > > > at > > org.apache.xbean.kernel.standard.StandardKernel.registerService( > > > StandardKernel.java:220) > > > at org.apache.xbean.server.spring.loader.SpringLoader.load( > > > SpringLoader.java:152) > > > at > > org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy( > > > AbstractXBeanDeployer.java:83) > > > at org.apache.servicemix.common.BaseServiceUnitManager.doDeploy( > > > BaseServiceUnitManager.java:88) > > > at org.apache.servicemix.common.BaseServiceUnitManager.deploy( > > > BaseServiceUnitManager.java:69) > > > at > > > > > org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly > > ( > > > DeploymentService.java:508) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs( > > > AutoDeploymentService.java:479) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingComponents > > > (AutoDeploymentService.java:53 > > > 2) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateSharedLibrary > > > (AutoDeploymentService.java:314) > > > at > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive( > > > AutoDeploymentService.java:251) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory > > ( > > > AutoDeploymentService.java:647) > > > at > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800( > > > AutoDeploymentService.java:60) > > > at > > org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run( > > > AutoDeploymentService.java:611) > > > at java.util.TimerThread.mainLoop(Timer.java:512) > > > at java.util.TimerThread.run(Timer.java:462) > > > > > > > > > > > > > > > > > > java.lang.Exception: <?xml version="1.0" encoding="UTF-8"?> > > > <jbi-task xmlns="http://java.sun.com/xml/ns/jbi/management-message" > > > version="1.0"> > > > <jbi-task-result> > > > <frmwk-task-result> > > > <frmwk-task-result-details> > > > <task-result-details> > > > <task-id>deploy</task-id> > > > <task-result>FAILED</task-result> > > > <message-type>ERROR</message-type> > > > </task-result-details> > > > </frmwk-task-result-details> > > > </frmwk-task-result> > > > <component-task-result xmlns=" > > > http://java.sun.com/xml/ns/jbi/management-message"> > > > <component-name>servicemix-wsn2005</component-name> > > > <component-task-result-details> > > > <task-result-details> > > > <task-id>deploy</task-id> > > > <task-result>FAILED</task-result> > > > <message-type>ERROR</message-type> > > > <task-status-msg> > > > <msg-loc-info> > > > <loc-token/> > > > <loc-message>Invalid xml</loc-message> > > > </msg-loc-info> > > > </task-status-msg> > > > <exception-info> > > > <nesting-level>1</nesting-level> > > > <msg-loc-info> > > > <loc-token/> > > > <loc-message>null</loc-message> > > > <stack-trace><![CDATA[ > > > javax.xml.bind.UnmarshalException > > > - with linked exception: > > > [java.io.FileNotFoundException: C:\servicemix- > > > > > 3.2\data\smx\service-assemblies\CommunicationServiceSA\version_1\sus\servic > > > emix-wsn2005\CommunicationService-jsr181-su\log4j.dtd (The system cannot > > > find the file specified)] > > > at > > > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0( > > > UnmarshallerImpl.java:201) > > > at > > > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal( > > > UnmarshallerImpl.java:172) > > > at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal( > > > AbstractUnmarshallerImpl.java:137) > > > at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal( > > > AbstractUnmarshallerImpl.java:142) > > > at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal( > > > AbstractUnmarshallerImpl.java:151) > > > at > > org.apache.servicemix.wsn.component.WSNDeployer.createEndpoint( > > > WSNDeployer.java:106) > > > at org.apache.servicemix.wsn.component.WSNDeployer.deploy( > > > WSNDeployer.java:92) > > > at org.apache.servicemix.common.BaseServiceUnitManager.doDeploy( > > > BaseServiceUnitManager.java:88) > > > at org.apache.servicemix.common.BaseServiceUnitManager.deploy( > > > BaseServiceUnitManager.java:69) > > > at > > > > > org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly > > ( > > > DeploymentService.java:508) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs( > > > AutoDeploymentService.java:479) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComponent( > > > AutoDeploymentService.java:290) > > > at > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive( > > > AutoDeploymentService.java:249) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory > > ( > > > AutoDeploymentService.java:647) > > > at > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800( > > > AutoDeploymentService.java:60) > > > at > > org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run( > > > AutoDeploymentService.java:611) > > > at java.util.TimerThread.mainLoop(Timer.java:512) > > > at java.util.TimerThread.run(Timer.java:462) > > > Caused by: java.io.FileNotFoundException: C:\servicemix- > > > 3.2\data\smx\service-assemblies\CommunicationServiceSA\version_1\ > > > sus\servicemix-wsn2005\CommunicationService-jsr181-su\log4j.dtd (The > > system > > > cannot find the file specified) > > > at java.io.FileInputStream.open(Native Method) > > > at java.io.FileInputStream.<init>(FileInputStream.java:106) > > > at java.io.FileInputStream.<init>(FileInputStream.java:66) > > > at sun.net.www.protocol.file.FileURLConnection.connect( > > > FileURLConnection.java:70) > > > at sun.net.www.protocol.file.FileURLConnection.getInputStream( > > > FileURLConnection.java:161) > > > at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity > > (Unknown > > > Source) > > > at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown > > > Source) > > > at org.apache.xerces.impl.XMLEntityManager.startDTDEntity > > (Unknown > > > Source) > > > at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource > > (Unknown > > > Source) > > > at > > > org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch > > (Unknown > > > Source) > > > at > > > org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument > > (Unknown > > > Source) > > > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown > > > Source) > > > at org.apache.xerces.parsers.XML11Configuration.parse(Unknown > > > Source) > > > at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) > > > at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown > > Source) > > > at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse > > (Unknown > > > Source) > > > at > > > com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0( > > > UnmarshallerImpl.java:199) > > > ... 17 more > > > ]]></stack-trace> > > > </msg-loc-info> > > > </exception-info> > > > </task-result-details> > > > </component-task-result-details> > > > </component-task-result> > > > <component-task-result xmlns=" > > > http://java.sun.com/xml/ns/jbi/management-message"> > > > <component-name>servicemix-cxf-bc</component-name> > > > <component-task-result-details> > > > <task-result-details> > > > <task-id>deploy</task-id> > > > <task-result>FAILED</task-result> > > > <message-type>ERROR</message-type> > > > <task-status-msg> > > > <msg-loc-info> > > > <loc-token/> > > > <loc-message>Unable to find suitable deployer for Service Unit > > > 'CommunicationServiceSU'</loc-message> > > > </msg-loc-info> > > > </task-status-msg> > > > </task-result-details> > > > </component-task-result-details> > > > </component-task-result> > > > </jbi-task-result> > > > </jbi-task> > > > > > > at org.apache.servicemix.jbi.framework.ManagementSupport.failure > > ( > > > ManagementSupport.java:125) > > > at org.apache.servicemix.jbi.framework.ManagementSupport.failure > > ( > > > ManagementSupport.java:111) > > > at > > > > > org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly > > ( > > > DeploymentService.java:543) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.checkPendingSAs( > > > AutoDeploymentService.java:479) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateComponent( > > > AutoDeploymentService.java:290) > > > at > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive( > > > AutoDeploymentService.java:249) > > > at > > > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory > > ( > > > AutoDeploymentService.java:647) > > > at > > > org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800( > > > AutoDeploymentService.java:60) > > > at > > org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run( > > > AutoDeploymentService.java:611) > > > at java.util.TimerThread.mainLoop(Timer.java:512) > > > at java.util.TimerThread.run(Timer.java:462) > > > > > > > > > -- > > Cheers, > > Guillaume Nodet > > ------------------------ > > Blog: http://gnodet.blogspot.com/ > > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/
