here's the error: Offending resource: ServletContext resource [/WEB-INF/cxf-servlet.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [cxf/cxf-extension-soap.xml]; nested exception is java.io.FileNotFoundException: class path resource [cxf/cxf-extension-soap.xml] cannot be opened because it does not exist
jackalista wrote: > > I mus be doing something dumb, it all looks just like the docs. The > import statements you reference are in cxf-servlet.xml (which itself is in > web/src/main/webapp/WEB-INF), like this: > > <import resource="classpath:cxf/cxf.xml" /> > <import resource="classpath:cxf/cxf-extension-soap.xml" /> > <import resource="classpath:cxf/cxf-servlet.xml" /> > > and my conxtConfigLocation from web.xml looks like: > > <context-param> > <param-name>contextConfigLocation</param-name> > <param-value> > classpath:/applicationContext-resources.xml > classpath:/cxf/cxf.xml > classpath:/applicationContext-dao.xml > classpath:/applicationContext-service.xml > classpath*:/applicationContext.xml > /WEB-INF/applicationContext*.xml > /WEB-INF/cxf-servlet.xml > /WEB-INF/security.xml > </param-value> > </context-param> > > I'm still getting this exception about file not found for the > cxf/cxf-extension-soap.xml when I start it in the web container (embedded > jetty). I'm suspicious I'm doing something or missing something dumb. it > looks mostly right but it's not finding that xml, which is from this jar > cxf-rt-bindings-soap-2.2.3.jar as far as I can tell. i looked at that > link ( http://cwiki.apache.org/CXF20DOC/writing-a-service-with-spring.html > ) and I think I've got it set up just like that but obvioiusly something > isn't quite right. Las thing I can think of right now is that maybe my > top level dependencies aren't complete? Those are here, do you need more > than this (or different from, etc.): > > <dependency> > <groupId>org.apache.cxf</groupId> > <artifactId>cxf-api</artifactId> > <version>2.2.3</version> > </dependency> > <dependency> > <groupId>org.apache.cxf</groupId> > <artifactId>cxf-rt-frontend-jaxws</artifactId> > <version>2.2.3</version> > <exclusions> > <!-- > http://www.jroller.com/melix/entry/apache_cxf_maven_javamail_awful --> > <exclusion> > <groupId>org.apache.geronimo.specs</groupId> > <artifactId>geronimo-javamail_1.4_spec</artifactId> > </exclusion> > </exclusions> > </dependency> > <dependency> > <groupId>org.apache.cxf</groupId> > <artifactId>cxf-rt-transports-http</artifactId> > <version>2.2.3</version> > </dependency> > > I know I'm doing something dumb here I can feel it... @#$%! > > --j > > > mraible wrote: >> >> You should be able to import CXF files from the classpath: >> >> <import resource="classpath:META-INF/cxf/cxf.xml" /> >> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> >> <import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> >> >> From http://cwiki.apache.org/CXF20DOC/writing-a-service-with-spring.html. >> >> Matt >> >> On Sun, Sep 27, 2009 at 1:21 PM, jackalista <j...@twaxx.com> wrote: >>> >>> Got this a little further, you apparently must have the cxf.xml file. I >>> tried putting it in >>> top-level-project-home/web/src/main/webapp/WEB-INF/cxf >>> and in web.xml but it couldn't find it so moved it to >>> web/src/main/resources/cxf and used this web.xml config and it seems to >>> work: >>> >>> <context-param> >>> <param-name>contextConfigLocation</param-name> >>> <param-value> >>> classpath:/applicationContext-resources.xml >>> classpath:/cxf/cxf.xml >>> classpath:/applicationContext-dao.xml >>> classpath:/applicationContext-service.xml >>> classpath*:/applicationContext.xml >>> /WEB-INF/applicationContext*.xml >>> /WEB-INF/cxf-servlet.xml >>> /WEB-INF/security.xml >>> </param-value> >>> </context-param> >>> >>> Now when I start up the web container it tells me: >>> >>> org.springframework.beans.factory.parsing.BeanDefinitionParsingException: >>> Configuration problem: Failed to import bean definitions from URL >>> location >>> [classpath:cxf/cxf-extension-soap.xml] >>> Offending resource: ServletContext resource [/WEB-INF/cxf-servlet.xml]; >>> nested exception is >>> org.springframework.beans.factory.BeanDefinitionStoreException: >>> IOException >>> parsing XML document from class path resource >>> [cxf/cxf-extension-soap.xml]; >>> nested exception is java.io.FileNotFoundException: class path resource >>> [cxf/cxf-extension-soap.xml] cannot be opened because it does not exist >>> >>> On to the next one... >>> >>> >>> >>> jackalista wrote: >>>> >>>> I got this a bit farther. I looked the cxf.xml files available in the >>>> latest archive for CXF (2.2.3), and found a wsdl first xmlbeans example >>>> that seemed at least plausibly usable and set it up for one of the >>>> services I'm exposing. Where do I want to put this so it gets picked >>>> up >>>> properly? Does this need to go in that list of files in the web.xml?. >>>> >>>> -=j=- >>>> >>>> >>>> jackalista wrote: >>>>> >>>>> OK, I was able to build and successfully run all my dao and mgr tests >>>>> and >>>>> did an mvn install into web as well and that went smoothly but when I >>>>> went into the web directory to do the run war target and pop up jetty >>>>> and >>>>> run the app it hit what looks like the other comments I saw about the >>>>> cxf.xml missing. I guess I'll go back and look at that hack about >>>>> manually copying a cxf.xml file from somewhere but that sounds a bit >>>>> sketchy, where is this file and it's config supposed to be coming >>>>> from? >>>>> Is it produced by annotation processing? >>>>> >>>>> -=j=- >>>>> >>>>> Here's a bit of the error trace showing a file not found for cxf.ml: >>>>> >>>>> 2009-09-26 16:10:18.700:/:INFO: Initializing Spring root >>>>> WebApplicationContext >>>>> [integration] ERROR [main] >>>>> ContextLoader.initWebApplicationContext(215) | >>>>> Context initialization failed >>>>> org.springframework.beans.factory.parsing.BeanDefinitionParsingException: >>>>> Configuration problem: Failed to import bean definitions from URL >>>>> location [classpath:cxf/cxf.xml] >>>>> Offending resource: ServletContext resource >>>>> [/WEB-INF/cxf-servlet.xml]; >>>>> nested exception is >>>>> org.springframework.beans.factory.BeanDefinitionStoreException: >>>>> IOException parsing XML document from class path resource >>>>> [cxf/cxf.xml]; >>>>> nested exception is java.io.FileNotFoundException: class path resource >>>>> [cxf/cxf.xml] cannot be opened because it does not exist >>>>> at >>>>> org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68) >>>>> at >>>>> org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85) >>>>> at >>>>> org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76) >>>>> >>>>> >>>>> more to come... >>>>> >>>>> >>>>> jackalista wrote: >>>>>> >>>>>> ok got the build problem with asm and cglib resloved with this mod >>>>>> done >>>>>> to the core/pom.xml (again, this is a struts2 modular project)., I >>>>>> added >>>>>> the exclusions to the appfuse-${dao.framework} dependency just after >>>>>> where you have to make the pom.xml mod from the tutorials for using >>>>>> appfuse core model classes and added a new dependency for cglib-nodep >>>>>> version 2.2 at the end of the list of dependencies and it built, I'll >>>>>> have to see what else works or doesn't work, here's the building >>>>>> configuration for the core/pom.xml: >>>>>> >>>>>> <dependency> >>>>>> <groupId>org.appfuse</groupId> >>>>>> <artifactId>appfuse-${dao.framework}</artifactId> >>>>>> <version>${appfuse.version}</version> >>>>>> <!-- moved down to the next block with >>>>>> artifactId=appfuse-${dao.framework}, >>>>>> didn't work putting it here in this <exclusions> >>>>>> block. >>>>>> <exclusions> >>>>>> </exclusions> >>>>>> --> >>>>>> </dependency> >>>>>> <!-- this is the exclusion / dependency -=j=- added to use >>>>>> the >>>>>> af model src --> >>>>>> <dependency> >>>>>> <groupId>org.appfuse</groupId> >>>>>> <artifactId>appfuse-${dao.framework}</artifactId> >>>>>> <version>${appfuse.version}</version> >>>>>> <exclusions> >>>>>> <exclusion> >>>>>> <groupId>org.appfuse</groupId> >>>>>> <artifactId>appfuse-data-common</artifactId> >>>>>> </exclusion> >>>>>> <!-- tried putting asm, asm-attrs and cglib exclusions >>>>>> here >>>>>> but it didn't work --> >>>>>> <exclusion> >>>>>> <groupId>asm</groupId> >>>>>> <artifactId>asm</artifactId> >>>>>> </exclusion> >>>>>> <exclusion> >>>>>> <groupId>asm</groupId> >>>>>> <artifactId>asm-attrs</artifactId> >>>>>> </exclusion> >>>>>> <exclusion> >>>>>> <groupId>cglib</groupId> >>>>>> <artifactId>cglib</artifactId> >>>>>> </exclusion> >>>>>> </exclusions> >>>>>> </dependency> >>>>>> <dependency> >>>>>> <groupId>cglib</groupId> >>>>>> <artifactId>cglib-nodep</artifactId> >>>>>> <version>2.2</version> >>>>>> </dependency> >>>>>> </dependencies> >>>>>> >>>>>> >>>>>> mraible wrote: >>>>>>> >>>>>>> On Sat, Sep 26, 2009 at 3:27 PM, jackalista <j...@twaxx.com> wrote: >>>>>>>> >>>>>>>> I piped "mvn dependency:tree" to a file and found this refer under >>>>>>>> hibernate >>>>>>>> that appears to be 1.x: >>>>>>>> >>>>>>>> [INFO] +- org.appfuse:appfuse-hibernate:jar:2.0.2:compile >>>>>>>> [INFO] | +- org.hibernate:hibernate:jar:3.2.6.ga:compile >>>>>>>> [INFO] | | +- javax.transaction:jta:jar:1.0.1B:compile >>>>>>>> [INFO] | | +- asm:asm-attrs:jar:1.5.3:compile >>>>>>>> >>>>>>>> Farther down I also found these which are 2.x & 3.x it looks like: >>>>>>>> >>>>>>>> [INFO] +- org.apache.cxf:cxf-rt-frontend-jaxws:jar:2.1.3:compile >>>>>>>> [INFO] | +- >>>>>>>> org.apache.geronimo.specs:geronimo-jaxws_2.1_spec:jar:1.0:compile >>>>>>>> [INFO] | +- asm:asm:jar:2.2.3:compile >>>>>>>> >>>>>>>> [...] >>>>>>>> >>>>>>>> [INFO] +- org.apache.cxf:cxf-rt-transports-http:jar:2.1.3:compile >>>>>>>> [INFO] +- asm:asm-all:jar:3.1:compile >>>>>>>> [INFO] +- cglib:cglib:jar:2.2:compile >>>>>>>> >>>>>>>> So it looks like I have that problem, what do I have to do to >>>>>>>> effect >>>>>>>> this >>>>>>>> workaround here?: ""workaround" for Hibernate is to remove the asm >>>>>>>> 1.x >>>>>>>> jar >>>>>>>> they use and replace the cglib jar with the cglib-nodeps jar that >>>>>>>> includes a >>>>>>>> special internal version of asm that would not conflict >>>>>>>> with the 2.x/3.x version we need" >>>>>>> >>>>>>>> >>>>>>>> I'm pulling in both the 2 and 3 versions of asm from the >>>>>>>> dependency:tree? >>>>>>>> Perhaps I'm not doing the right exclusion for hibernate? Sorry, >>>>>>>> I'm >>>>>>>> fairly >>>>>>>> green with maven... Also, how do I replace cglib.jar with the >>>>>>>> cglib-nodeps.jar? >>>>>>> >>>>>>> Add an exclusion to appfuse-hibernate that excludes asm-attrs and >>>>>>> cglib. Then add a dependency to the same pom for cglib-nodeps. >>>>>>> >>>>>>>> >>>>>>>> One more stupid question: why not get the latest CXF? It's a full >>>>>>>> major >>>>>>>> version past this 2.1.3, the current version is 2.2.3, should I use >>>>>>>> the >>>>>>>> latest as it may have various fixes or are there problems with >>>>>>>> that? >>>>>>>> Thanks >>>>>>>> Matt, you're doing pretty well for hacking-while-plane-hopping, >>>>>>>> much >>>>>>>> appreciated... >>>>>>> >>>>>>> Yes, I would recommend using the latest version of CXF. >>>>>>> >>>>>>> Matt >>>>>>> >>>>>>>> >>>>>>>> -=j=- >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> mraible wrote: >>>>>>>>> >>>>>>>>> You should be able to simply upgrade ASM, not really remove it. >>>>>>>>> Here's >>>>>>>>> what the CXF migration guide[1] says: >>>>>>>>> >>>>>>>>> The JAX-WS frontend now "requires" asm 2.x or 3.x to be able to >>>>>>>>> process some of the JAXB annotations on the SEI interface. If you >>>>>>>>> don't use those annotations on the SEI, or if you have generated >>>>>>>>> wrapper classes (either via wsdl2java or java2ws with -wrapperbean >>>>>>>>> flag), you can remove the asm jar. If you leave asm jar, there can >>>>>>>>> be >>>>>>>>> conflicts with other apps that use asm. The predominant one is >>>>>>>>> Hibernate. The "workaround" for Hibernate is to remove the asm 1.x >>>>>>>>> jar >>>>>>>>> they use and replace the cglib jar with the cglib-nodeps jar that >>>>>>>>> includes a special internal version of asm that would not conflict >>>>>>>>> with the 2.x/3.x version we need. >>>>>>>>> >>>>>>>>> I would pipe "mvn dependency:tree" to a file and search it too see >>>>>>>>> if >>>>>>>>> you have the newer versions. >>>>>>>>> >>>>>>>>> Matt >>>>>>>>> >>>>>>>>> [1] http://cxf.apache.org/21-migration-guide.html >>>>>>>>> >>>>>>>>> On Sat, Sep 26, 2009 at 2:53 PM, -=j=- <j...@twaxx.com> wrote: >>>>>>>>>> Ah, thanks, I'll put that back in. Also, I'm getting compile >>>>>>>>>> errors >>>>>>>>>> relating to asm and cglib, so I suspect that the exclusions or >>>>>>>>>> dependencies >>>>>>>>>> are in the wrong place. Are they in the right place? >>>>>>>>>> >>>>>>>>>> -=j=- >>>>>>>>>> >>>>>>>>>> On Sat, 2009-09-26 at 14:50 -0600, Matt Raible wrote: >>>>>>>>>> >>>>>>>>>> You still need spring-web upgraded if you're using Struts 2. You >>>>>>>>>> should be able to use "mvn dependency:tree" to see if your >>>>>>>>>> dependencies look right. >>>>>>>>>> >>>>>>>>>> On Sat, Sep 26, 2009 at 2:46 PM, jackalista <j...@twaxx.com> >>>>>>>>>> wrote: >>>>>>>>>>> >>>>>>>>>>> Hi Nils, >>>>>>>>>>> >>>>>>>>>>> I'm tryingto follow along these directions and am having trouble >>>>>>>>>>> understanding part of your guide. I'm using appfuse 2.0.2 with >>>>>>>>>>> the >>>>>>>>>>> modular >>>>>>>>>>> struts2 archetype, in case it matters. >>>>>>>>>>> >>>>>>>>>>> I'm getting errors from both asm and cglib so I'm better I >>>>>>>>>>> didn't >>>>>>>>>>> put >>>>>>>>>>> the >>>>>>>>>>> <exclusion></exclusion> & <dependency></dependency> stuff in the >>>>>>>>>>> right >>>>>>>>>>> place. >>>>>>>>>>> >>>>>>>>>>> For the "exclude also asm and the cglib from the hibernate >>>>>>>>>>> dependency" >>>>>>>>>>> part, >>>>>>>>>>> I tried putting these exclusion blocks in the core/pom.xml right >>>>>>>>>>> under >>>>>>>>>>> the >>>>>>>>>>> exclusion block with <groiupId>org.appfuse</groupId> and >>>>>>>>>>> <artifactId>appfuse-hibernate</artifactId>: >>>>>>>>>>> >>>>>>>>>>> [code] >>>>>>>>>>> <exclusion> >>>>>>>>>>> <groupId>asm</groupId> >>>>>>>>>>> <artifactId>asm</artifactId> >>>>>>>>>>> </exclusion> >>>>>>>>>>> <exclusion> >>>>>>>>>>> <groupId>asm</groupId> >>>>>>>>>>> <artifactId>asm-attrs</artifactId> >>>>>>>>>>> </exclusion> >>>>>>>>>>> <exclusion> >>>>>>>>>>> <groupId>cglib</groupId> >>>>>>>>>>> <artifactId>cglib</artifactId> >>>>>>>>>>> </exclusion> >>>>>>>>>>> [/code] >>>>>>>>>>> >>>>>>>>>>> I performed this step "add the asm-all and cglib dependencies to >>>>>>>>>>> the top >>>>>>>>>>> level <dependencies>:" by putting the following dependency >>>>>>>>>>> blocks >>>>>>>>>>> in the >>>>>>>>>>> top >>>>>>>>>>> level pom.xml (it's a modular archetype) in the main >>>>>>>>>>> dependencies >>>>>>>>>>> list >>>>>>>>>>> at >>>>>>>>>>> the end of the list: >>>>>>>>>>> >>>>>>>>>>> <dependency> >>>>>>>>>>> <groupId>asm</groupId> >>>>>>>>>>> <artifactId>asm-all</artifactId> >>>>>>>>>>> <version>3.1</version> >>>>>>>>>>> </dependency> >>>>>>>>>>> <dependency> >>>>>>>>>>> <groupId>cglib</groupId> >>>>>>>>>>> <artifactId>cglib</artifactId> >>>>>>>>>>> <version>2.2</version> >>>>>>>>>>> </dependency> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> I also put the CXF dependencies (cxf-api, cxf-rt-frontend-jaxws >>>>>>>>>>> & >>>>>>>>>>> cxf-rt-transports-http) in that same list in that same top level >>>>>>>>>>> pom.xml >>>>>>>>>>> file, just before the asm and cglib stuff. Right after the asm >>>>>>>>>>> and >>>>>>>>>>> cglib >>>>>>>>>>> dependencies I put this spring-core dependency: >>>>>>>>>>> >>>>>>>>>>> <dependency> >>>>>>>>>>> <groupId>org.springframework</groupId> >>>>>>>>>>> <artifactId>spring-core</artifactId> >>>>>>>>>>> <version>${spring.version}</version> >>>>>>>>>>> </dependency> >>>>>>>>>>> >>>>>>>>>>> I didn't put the spring-web dependency in as I'm using struts2, >>>>>>>>>>> but >>>>>>>>>>> I'm >>>>>>>>>>> not >>>>>>>>>>> sure if that's correct, since I'm hitting build errors related >>>>>>>>>>> to >>>>>>>>>>> asm >>>>>>>>>>> and >>>>>>>>>>> cglib it's kind of hard to tell. >>>>>>>>>>> >>>>>>>>>>> Sorry for the newbie questions but am I putting these >>>>>>>>>>> dependencies >>>>>>>>>>> and >>>>>>>>>>> exclusions in the right place? I suspect one or more are not >>>>>>>>>>> correct, >>>>>>>>>>> any >>>>>>>>>>> help would be appreciated, thanks... >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> agathon wrote: >>>>>>>>>>>> >>>>>>>>>>>> i made a litte guide for migrating appfuse from xfire to cxf : >>>>>>>>>>>> >>>>>>>>>>>> http://snackycracky.wordpress.com/2009/01/06/migrate-appfuse-from-xfire-to-cxf/ >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> View this message in context: >>>>>>>>>>> http://www.nabble.com/CXF-and-AppFuse-2.0.1-tp14282383s2369p25628723.html >>>>>>>>>>> Sent from the AppFuse - User mailing list archive at Nabble.com. >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> --------------------------------------------------------------------- >>>>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net >>>>>>>>>>> For additional commands, e-mail: users-h...@appfuse.dev.java.net >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> --------------------------------------------------------------------- >>>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net >>>>>>>>>> For additional commands, e-mail: users-h...@appfuse.dev.java.net >>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> --------------------------------------------------------------------- >>>>>>>>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net >>>>>>>>> For additional commands, e-mail: users-h...@appfuse.dev.java.net >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> View this message in context: >>>>>>>> http://www.nabble.com/CXF-and-AppFuse-2.0.1-tp14282383s2369p25629009.html >>>>>>>> Sent from the AppFuse - User mailing list archive at Nabble.com. >>>>>>>> >>>>>>>> >>>>>>>> --------------------------------------------------------------------- >>>>>>>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net >>>>>>>> For additional commands, e-mail: users-h...@appfuse.dev.java.net >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> --------------------------------------------------------------------- >>>>>>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net >>>>>>> For additional commands, e-mail: users-h...@appfuse.dev.java.net >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/CXF-and-AppFuse-2.0.1-tp14282383s2369p25636680.html >>> Sent from the AppFuse - User mailing list archive at Nabble.com. >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net >>> For additional commands, e-mail: users-h...@appfuse.dev.java.net >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net >> For additional commands, e-mail: users-h...@appfuse.dev.java.net >> >> >> > > -- View this message in context: http://www.nabble.com/CXF-and-AppFuse-2.0.1-tp14282383s2369p25639609.html Sent from the AppFuse - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net For additional commands, e-mail: users-h...@appfuse.dev.java.net