Hi Sergey, This is CXF 3.0.1.
Regards Kiren On Sun, Aug 10, 2014 at 9:24 PM, Sergey Beryozkin <sberyoz...@gmail.com> wrote: > Hi Kiren > > What CXF version is it ? > > Thanks, Sergey > > On 08/08/14 13:24, Kiren Pillay wrote: >> >> Hi Sergey, >> >> Thanks, I tried the code snippet you suggested. I have gotten further, >> however it looks like I've uncovered a bug in the WebClient code. >> >> When using the local transport, an NPE is thrown from the >> AbstractClient class (line 386) >> >> 381. Map<String, List<Object>> protocolHeaders = >> CastUtils.cast((Map<?, >> ?>)responseMessage.get(Message.PROTOCOL_HEADERS)); >> >> boolean splitHeaders = >> >> MessageUtils.isTrue(outMessage.getContextualProperty(HEADER_SPLIT_PROPERTY)); >> 386. for (Map.Entry<String, List<Object>> entry : >> protocolHeaders.entrySet()) { >> >> >> This is because protocolHeaders evaluates to null in 381, causing the >> NPE in 386. This is for local transport only, when using the http >> transport, it works fine. >> >> Should I log a defect for this? >> >> Regards >> Kiren >> >> On Thu, Aug 7, 2014 at 9:49 PM, Sergey Beryozkin <sberyoz...@gmail.com> >> wrote: >>> >>> Hi, >>> >>> Can you have a look at JAXRSLocalTransportTest in systests/jaxrs ? >>> It has this test: >>> >>> @Test >>> public void testWebClientDirectDispatch() throws Exception { >>> WebClient localClient = WebClient.create("local://books"); >>> localClient.path("bookstore/books/123"); >>> Book book = localClient.get(Book.class); >>> assertEquals(123L, book.getId()); >>> } >>> >>> Can you please try the following, create WebClient directly in the code, >>> without injecting it, and see if it can invoke correctly,just to check if >>> it >>> is an injection related issue or not. >>> >>> Cheers, Sergey >>> >>> >>> >>> On 07/08/14 19:36, Kiren Pillay wrote: >>>> >>>> >>>> I thought serviceClass with the actual Rest service implementation, >>>> sorry!:) >>>> The following fixed this: >>>> >>>> <jaxrs-client:client id="webClient" address="local://rsservice" >>>> serviceClass="org.apache.cxf.jaxrs.client.WebClient" > >>>> >>>> >>>> I managed to get further now, the client is calling the service via >>>> the local transport, however I'm getting the following error. >>>> >>>> " Local destination does not have a MessageObserver on address >>>> local://rsservice/function/msisdnLessSim" >>>> >>>> I upgraded to 3.0.1 now thinking it would solve the problem but its >>>> still there:/ >>>> >>>> On Thu, Aug 7, 2014 at 3:19 PM, Sergey Beryozkin <sberyoz...@gmail.com> >>>> wrote: >>>>> >>>>> >>>>> Hi Kiren >>>>> >>>>> I'm not sure yet I follow :-) but yes, jaxrs:client/@serviceClass can >>>>> be >>>>> set >>>>> to a full WebClient name -> it will lead to a WebClient created. >>>>> WebClient can work with a local transport too >>>>> >>>>> Cheers, Sergey >>>>> >>>>> On 07/08/14 16:16, Kiren Pillay wrote: >>>>>> >>>>>> >>>>>> >>>>>> Hi Sergey, >>>>>> >>>>>> Not sure if I'm the right track. >>>>>> >>>>>> What I need is to enable the following scenario. >>>>>> >>>>>> Client ----> JAXRSEntryService -----+-------> JAXTargetResource1 >>>>>> | >>>>>> |+-------> >>>>>> JAXTargetResource-n >>>>>> >>>>>> The Entry service will perform a table lookup of the target resource's >>>>>> path based on an input parameter from the external client. I would >>>>>> then use the client in the JAXRSEntryService to call the target >>>>>> resources using the local transport. The target resources are all in >>>>>> the same Spring container. >>>>>> >>>>>> Specifying the ServiceClass means I know the target resource I'm >>>>>> calling upfront? In this case I don't know it. What's the best >>>>>> approach to do this. Do I just create a webclient and use the local >>>>>> transport in the URL? >>>>>> >>>>>> Regards >>>>>> Kiren >>>>>> >>>>>> On Thu, Aug 7, 2014 at 2:18 PM, Sergey Beryozkin >>>>>> <sberyoz...@gmail.com> >>>>>> wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> Hi Kiren >>>>>>> Looks like a jaxrs:client/@serviceClass is missing >>>>>>> >>>>>>> Cheers, Sergey >>>>>>> >>>>>>> On 07/08/14 14:25, Kiren Pillay wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Hi Sergey, >>>>>>>> >>>>>>>> I'm trying to use the local transport as outlined in our email >>>>>>>> before. >>>>>>>> >>>>>>>> I can't seem to get the client injected into my Service bean (I'm >>>>>>>> using >>>>>>>> 2.7.7). >>>>>>>> >>>>>>>> <!-- local transport --> >>>>>>>> <jaxrs:server id="localRestContainer" >>>>>>>> address="local://rsservice" >>>>>>>> transportId="http://cxf.apache.org/transports/local"> >>>>>>>> <jaxrs:serviceBeans> >>>>>>>> <ref bean="msisdnLessSimService" /> >>>>>>>> </jaxrs:serviceBeans> >>>>>>>> <jaxrs:providers> >>>>>>>> <ref bean="jaxbProvider" /> >>>>>>>> <ref bean="pamsExceptionMapper" /> >>>>>>>> <ref bean="pamsRuntimeExceptionMapper" /> >>>>>>>> </jaxrs:providers> >>>>>>>> >>>>>>>> <jaxrs:invoker> >>>>>>>> <bean >>>>>>>> class="za.co.vodacom.pams.bs.WebServiceAuthorizationInvoker" /> >>>>>>>> </jaxrs:invoker> >>>>>>>> </jaxrs:server> >>>>>>>> >>>>>>>> <!-- Local transport --> >>>>>>>> <jaxrs:client id="webClient" address="local://rsservice" > >>>>>>>> </jaxrs:client> >>>>>>>> <bean id="pamsInfo" >>>>>>>> class="za.co.vodacom.pams.bs.info.PAMSInfoServiceImpl"> >>>>>>>> <property name="webClient" ref="webClient"></property> >>>>>>>> </bean> >>>>>>>> >>>>>>>> [ContextLoader]initWebApplicationContext(main) 308 >>>>>>>> org.springframework.beans.factory.BeanCreationException: Error >>>>>>>> creating bean with name 'webClient': Instantiation of bean failed; >>>>>>>> nested exception is >>>>>>>> org.springframework.beans.factory.BeanDefinitionStoreException: >>>>>>>> Factory method [public org.apache.cxf.jaxrs.client.Client >>>>>>>> org.apache.cxf.jaxrs.client.JAXRSClientFactoryBean.create()] threw >>>>>>>> exception; nested exception is javax.ws.rs.NotFoundException >>>>>>>> at >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:581) >>>>>>>> at >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1015) >>>>>>>> at >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:911) >>>>>>>> >>>>>>>> On Sun, Nov 17, 2013 at 5:47 PM, Kiren Pillay >>>>>>>> <kirenpill...@gmail.com> >>>>>>>> wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> 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 >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>> >>>>> >>>>> >>>>> -- >>>>> Sergey Beryozkin >>>>> >>>>> Talend Community Coders >>>>> http://coders.talend.com/ >>>>> >>>>> Blog: http://sberyozkin.blogspot.com >>> >>> >>> > >