Okay, I was was supposed to use "#" in front of bean name. Thx
On Sun, Nov 17, 2013 at 11:42 AM, Kiren Pillay <kirenpill...@gmail.com>wrote: > Hi Sergei, > > I'm trying to use the bean reference for the implementing class but am > getting a classNotFoundError (CXF2.7.7). Is this a bug or is there a > special way to reference the bean. Also, wouldn't it be better to have a > bean-ref attribute rather than the implementor attribute? > > <bean id="soapMmsBilling" > class="za.co.vodacom.pams.soap.SoapMmsBillingRequestImpl"> > <!-- Inject local client > <property name="localRestClient" ref="localHttpClient"/>--> > </bean> > > <jaxws:endpoint id="MmsBillingSoapWebservice" > serviceName="customer:OpenWaveMmsBilling" implementor="soapMmsBilling" > xmlns:customer="http://www.openwave.com/protocols/oip/"> > <jaxws:features> > <bean class="org.apache.cxf.feature.LoggingFeature" /> > </jaxws:features> > </jaxws:endpoint> > > > org.springframework.beans.factory.BeanCreationException: Error creating > bean with name 'MmsBillingSoapWebservice': Cannot create inner bean '(inner > bean)' of type [soapMmsBilling] while setting constructor argument; nested > exception is > org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find > class [soapMmsBilling] for bean with name '(inner bean)#1' defined in null; > nested exception is java.lang.ClassNotFoundException: soapMmsBilling > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:125) > at > org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:616) > at > org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) > at > org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) > at > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) > at > org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) > at > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585) > at > org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913) > at > org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464) > at > org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385) > at > org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284) > at > org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) > at > org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206) > at > org.apache.catalina.core.StandardContext.start(StandardContext.java:4705) > at > org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) > at > org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) > at > org.apache.catalina.core.StandardHost.addChild(StandardHost.java:623) > at > org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:675) > at > org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:601) > at > org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:502) > at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1322) > at > org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) > at > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) > at org.apache.catalina.core.StandardHost.start(StandardHost.java:862) > at > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) > at > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) > at > org.apache.catalina.core.StandardService.start(StandardService.java:525) > at > org.apache.catalina.core.StandardServer.start(StandardServer.java:754) > at org.apache.catalina.startup.Catalina.start(Catalina.java:595) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:601) > at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) > Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: > Cannot find class [soapMmsBilling] for bean with name '(inner bean)#1' > defined in null; nested exception is java.lang.ClassNotFoundException: > soapMmsBilling > at > org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1262) > at > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:433) > at > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) > ... 41 more > Caused by: java.lang.ClassNotFoundException: soapMmsBilling > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) > at > org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) > at org.springframework.util.ClassUtils.forName(ClassUtils.java:258) > at > org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:417) > at > org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1283) > at > org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1254) > > > On Thu, Nov 14, 2013 at 12:54 PM, Kiren Pillay <kirenpill...@gmail.com>wrote: > >> Thanks Sergey, will give it a try! >> >> Regards >> Kiren >> >> >> On Thu, Nov 14, 2013 at 12:36 PM, Sergey Beryozkin >> <sberyoz...@gmail.com>wrote: >> >>> Hi Kiren >>> >>> Add one more jaxrs:server endpoint with a local transport address, >>> sharing the same JAX-RS bean with the HTTP-aware jaxrs:endpoint, and then >>> inject a jaxrs:client or WebClient initialized with the local transport >>> address into your JAX-WS server, example, >>> >>> <jaxrs:server address="/http"> >>> <jaxrs:serviceBeans> >>> <ref bean="service"/> >>> </jaxrs:serviceBeans> >>> </jaxrs:server> >>> >>> <jaxrs:server address="local://rsservice" >>> transportId="http://cxf.apache.org/transports/local"> >>> <jaxrs:serviceBeans> >>> <ref bean="service"/> >>> </jaxrs:serviceBeans> >>> </jaxrs:server> >>> >>> <jaxrs:client address="local://rsservice"> >>> </jaxrs:client> >>> >>> and inject this client (or WebClient) into the soap server >>> >>> This should do >>> >>> Cheers, Sergey >>> >>> >>> On 13/11/13 23:10, Kiren Pillay wrote: >>> >>>> Hi Sergey, >>>> >>>> I am trying to have a SOAP service calling a RESTFUL service, both >>>> deployed >>>> within the same CXF servlet. >>>> >>>> What is the best or most efficient way to invoke the RestFul service >>>> from >>>> the SOAP service?. I want the RestFul service to behave as if its being >>>> called from an external source so that the invokers etc are all called >>>> as >>>> normal. >>>> >>>> I'm trying the following call but it doesn't seem to be invoking the >>>> service. Both the SOAP and REST service are within the same Servlet >>>> Context. >>>> >>>> WebClient wc = WebClient.create( >>>> >>>> " >>>> http://localhost:8080/deploy-mms-billing/rest/function/mmsBilling", >>>> "test", "test", null); >>>> >>>> Regards >>>> Kiren >>>> >>>> >>> >>> -- >>> Sergey Beryozkin >>> >>> Talend Community Coders >>> http://coders.talend.com/ >>> >>> Blog: http://sberyozkin.blogspot.com >>> >> >> >