Return-Path: X-Original-To: apmail-cxf-users-archive@www.apache.org Delivered-To: apmail-cxf-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E55C911195 for ; Mon, 11 Aug 2014 10:18:28 +0000 (UTC) Received: (qmail 76464 invoked by uid 500); 11 Aug 2014 10:18:28 -0000 Delivered-To: apmail-cxf-users-archive@cxf.apache.org Received: (qmail 76390 invoked by uid 500); 11 Aug 2014 10:18:28 -0000 Mailing-List: contact users-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@cxf.apache.org Delivered-To: mailing list users@cxf.apache.org Received: (qmail 76373 invoked by uid 99); 11 Aug 2014 10:18:27 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Aug 2014 10:18:27 +0000 X-ASF-Spam-Status: No, hits=-0.5 required=5.0 tests=FREEMAIL_ENVFROM_END_DIGIT,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kirenpillay1@gmail.com designates 209.85.220.182 as permitted sender) Received: from [209.85.220.182] (HELO mail-vc0-f182.google.com) (209.85.220.182) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Aug 2014 10:18:23 +0000 Received: by mail-vc0-f182.google.com with SMTP id hy4so11415476vcb.13 for ; Mon, 11 Aug 2014 03:18:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=UCUFDaBhDlVhGT2LrA6UbGZCy3XV/4vbNNfR+s2tBMM=; b=abT3kg2whRALpu67DBmZx6fbaXDWqgoPSkZyzbYeVu10oidx+W5ldklkX5ZnFE5Ndd 4bo1Okb0rkLSa/r9o4JVgG/icxFh1rx71lasiumF+pjiYZ2GgziyjLX9iVyiMzIf+Ikj Cj6fl3WHAjOItAzzwvydCX5AKWzncO/LD7YMLbc2qiPy2EPNS5vVxJH6vhqBonSAi/84 BgcM6WApHuBV9N5dBNVIl86KLC9oDDDWBwO+bx4xBrTS1V6BGFqnw7CEAhqGjYC1xcyK Cn8Rh8qeGhfuv9xvI/1RjQr4TiUTRF1ETieTVQopcLD5jjx7nIF0Ip/3DIJKd2dobHqK 3gyw== MIME-Version: 1.0 X-Received: by 10.52.0.132 with SMTP id 4mr16978017vde.10.1407752282762; Mon, 11 Aug 2014 03:18:02 -0700 (PDT) Received: by 10.221.66.76 with HTTP; Mon, 11 Aug 2014 03:18:02 -0700 (PDT) In-Reply-To: <53E88CAE.2040108@gmail.com> References: <5284A7C3.8000301@gmail.com> <53E36E7C.2030201@gmail.com> <53E37CF4.40009@gmail.com> <53E3D835.8030804@gmail.com> <53E7C702.6030802@gmail.com> <53E88CAE.2040108@gmail.com> Date: Mon, 11 Aug 2014 12:18:02 +0200 Message-ID: Subject: Re: SOAP calling REST service From: Kiren Pillay To: users@cxf.apache.org Content-Type: text/plain; charset=UTF-8 X-Virus-Checked: Checked by ClamAV on apache.org Its probably something specific with my setup. I will create the test-case for it. Regards Kiren On Mon, Aug 11, 2014 at 11:28 AM, Sergey Beryozkin wrote: > Hi Kiren > > Interesting, I wonder why it's not happening with JAXRSLocalTransportTest. > Can you please update JAXRSLocalTransportTest with a failing test and create > a patch ? > Thanks, Sergey > > On 11/08/14 11:20, Kiren Pillay wrote: >> >> Hi Sergey, >> >> This is CXF 3.0.1. >> >> Regards >> Kiren >> >> On Sun, Aug 10, 2014 at 9:24 PM, Sergey Beryozkin >> 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> protocolHeaders = >>>> CastUtils.cast((Map>>> ?>)responseMessage.get(Message.PROTOCOL_HEADERS)); >>>> >>>> boolean splitHeaders = >>>> >>>> >>>> MessageUtils.isTrue(outMessage.getContextualProperty(HEADER_SPLIT_PROPERTY)); >>>> 386. for (Map.Entry> 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 >>>> 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: >>>>>> >>>>>> >>>>> 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 >>>>>> >>>>>> 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 >>>>>>>> >>>>>>>> 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). >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> address="local://rsservice" >>>>>>>>>> transportId="http://cxf.apache.org/transports/local"> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> class="za.co.vodacom.pams.bs.WebServiceAuthorizationInvoker" /> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> > >>>>>>>>>> >>>>>>>>>> >>>>>>>>> class="za.co.vodacom.pams.bs.info.PAMSInfoServiceImpl"> >>>>>>>>>> >>>>>>>>> ref="webClient"> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> [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 >>>>>>>>>> >>>>>>>>>> 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 >>>>>>>>>>> >>>>>>>>>>> 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? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> class="za.co.vodacom.pams.soap.SoapMmsBillingRequestImpl"> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> serviceName="customer:OpenWaveMmsBilling" >>>>>>>>>>>> implementor="soapMmsBilling" >>>>>>>>>>>> >>>>>>>>>>>> xmlns:customer="http://www.openwave.com/protocols/oip/"> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> class="org.apache.cxf.feature.LoggingFeature" >>>>>>>>>>>> /> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> 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 >>>>>>>>>>>> >>>>>>>>>>>> wrote: >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> Thanks Sergey, will give it a try! >>>>>>>>>>>>> >>>>>>>>>>>>> Regards >>>>>>>>>>>>> Kiren >>>>>>>>>>>>> >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Nov 14, 2013 at 12:36 PM, Sergey Beryozkin >>>>>>>>>>>>> >>>>>>>>>>>>> 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, >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>> transportId="http://cxf.apache.org/transports/local"> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>> 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 >>>>> >>>>> >>>>> >>>>> >>> >>> >