cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kiren Pillay <kirenpill...@gmail.com>
Subject Re: SOAP calling REST service
Date Mon, 11 Aug 2014 10:18:02 GMT
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 <sberyozkin@gmail.com> 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 <sberyozkin@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 <sberyozkin@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
>>>>>> <sberyozkin@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
>>>>>>>> <sberyozkin@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
>>>>>>>>>> <kirenpillay1@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
>>>>>>>>>>> <kirenpillay1@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
>>>>>>>>>>>> <kirenpillay1@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Thanks Sergey, will give it a try!
>>>>>>>>>>>>>
>>>>>>>>>>>>> Regards
>>>>>>>>>>>>> Kiren
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Nov 14, 2013 at 12:36 PM, Sergey
Beryozkin
>>>>>>>>>>>>> <sberyozkin@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
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>
>

Mime
View raw message