You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Piotr Skawinski <p_...@hotmail.com> on 2008/11/26 12:15:48 UTC

Problem of having jax-rs based services together with jax-ws based clients

Hi,

I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the client is tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
using the cxf. The problem seem not to occur when services are
implemented using the restlet framework, or when jax-rs based services are
deployed without the jax-ws based client. Is there a conflict of
having the jax-rs services together with jax-ws clients, both
implemented using the cxf?

Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
    at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
    at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
    at javax.xml.ws.Service.getPort(Service.java:92)
    at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
    at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
    ... 83 more
Caused by: org.apache.cxf.service.factory.ServiceConstructionException
    at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
    at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
    at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
    at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
    at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
    ... 92 more
Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
    at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
    at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
    at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
    ... 96 more


thx in advance, Piotr




_________________________________________________________________
Connect to the next generation of MSN Messenger 
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline

Re: Problem of having jax-rs based services together with jax-ws based clients

Posted by Sergey Beryozkin <se...@progress.com>.
Hi,

great it's all working now :-)

I believe in CXF 2.1.x it does not matter which pattern is used by CXF servlet as it's always an HttpServletRequest's path info is 
used to match requests. So it's the combination of  <jaxrs:server adress="..."> and Path's value on a root resorce class or any of 
its methods  which is taken into account.

So, in 2.1.3,  if you have /v1/* in cxf servlet then for /v1/x be handled by your class you can have for ex
<jaxrs:server adress="/"> and either Path("/") on a root resource class with Path("/x") on one of the methods or Path("/x") only on 
the root resource class. Or you can have <jaxrs:server adress="/x"> with Path("/") on a root resource class.

in 2.2-SNAPSHOT the situation is different (and in 2.1.4-SNAPSHOT), as it's an HttpServletRequest's  Request URI which is used as 
it's not been uri-decoded yet and thus it the only option really for requests with encoded URIs be supported. RequestURI includes 
the path segmnets(s) if any specified by CXF servlet, so if you do want to have a servlet address orther than "/*" then the only 
option at the moment is to update your root resource class's PATH value to match the request.

So, in 2.2-SNAPSHOT,  if you have /v1/* in cxf servlet then for /v1/x be delivered to your class it should be

<jaxrs:server adress="/">
and either Path("/") - with /v1/x bit to be handled by some method or Path("/v1") with /x bit be handled by some method or 
Path("/v1/x")

I'm thinking of adding an attribute to jaxrs:server which would let one to keep say 'v1' bit out of the class resource, see
https://issues.apache.org/jira/browse/CXF-1925

I know it all has to be documented - just can't find time at the minute. Let me know if you have any problems with matching 
requests.

Hope it helps. Sergey

----- Original Message ----- 
From: "Piotr Skawinski" <p_...@hotmail.com>
To: "cxf users mailing list" <us...@cxf.apache.org>
Sent: Thursday, November 27, 2008 6:31 PM
Subject: RE: Problem of having jax-rs based services together with jax-ws based clients




OK, thanks a lot, it helped and it finally works -:)

I have just one question. Is address in the <jaxrs:server adress="..."> relative to the path defined for the CXFServlet in the
web.xml?
If I have CXFSerlvet url-pattern defined as /v1/* how should I then define adress in the jaxrs:server to map my jaxrs service to
/v1/x/? In the web.xml I have other servlets, so I dont want url-pattern be /*.

Piotr


> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Thu, 27 Nov 2008 15:48:12 +0000
>
> Hi Piotr
>
> I think the reason you might want to use cglib-nodeps in that it has no dependencies on asm and it should work ok with hibernate
> for
> ex. It's a common advice which I can read on cxf user list or elsewhere. That's as far as I know about it :-). I'd not be
> surprised
> if this info is available on CXF docs somewhere - but if not then it would help to all if it were added there
>
> Cheers, Sergey
>
>
>
> ----- Original Message ----- 
> From: "Piotr Skawinski" <p_...@hotmail.com>
> To: "cxf users mailing list" <us...@cxf.apache.org>
> Sent: Thursday, November 27, 2008 3:39 PM
> Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
>
>
>
>
>
> Hi Sergey,
>
> I think the problem now lies in the artifact versions that cxf is using and the versions that 3'rd part libriaries of my
> application
> are using. What I can see is that all cxf.version from 2.1 are using 2.2.3 version of asm and the 3'rd part libriaries I'm using
> (like hibernate, cglib, etc) is expecting to version 1.5.3. Has it been anounced which artifact to upgrade (within custom
> applications) to get cxf (version>2.1) up and running?
>
> Piotr
>
> > From: sergey.beryozkin@progress.com
> > To: users@cxf.apache.org
> > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > Date: Thu, 27 Nov 2008 14:49:09 +0000
> >
> > Hi Piotr
> >
> > I'm sorry I didn't get earlier to you - and I'm happy you've found what looks like the way forward.
> > I was about to spend a bit of time today on your issue now that I've mostly finished with some of the other pending work.
> >
> > >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> > >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> >
> > Does it make any difference if you just change the order of imports, jaxws client configuration goes first, jaxrs one goes
> > second
> > ?
> >
> >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> >
> > Cheers, Sergey
> >
> >
> > ----- Original Message ----- 
> > From: "Piotr Skawinski" <p_...@hotmail.com>
> > To: "cxf users mailing list" <us...@cxf.apache.org>
> > Sent: Thursday, November 27, 2008 2:27 PM
> > Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
> >
> >
> >
> >
> >
> > It seems that the error get removed after putting <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> in the
> > jaxrs:server configuration, but then I faces missing classes as I get the error below. It seems that cxf is using lower/higher
> > version of some artifact than the rest of my application? When I remove the dependencies to my store (implemented using
> > hibernate)
> > the application runs fine. I'm using cxf.version 2.2-SNAPSHOT to get it running with the latest jax-rs (1.0).
> >
> > Any suggestion what to upgrade in my application?
> >
> > regards, Piotr
> >
> > Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
> >     at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
> >     at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
> >     at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
> >     at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
> >     at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
> >     at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
> >     at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
> >     at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
> >     at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
> >     at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
> >     at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
> >     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
> >     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
> >     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
> >     at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at
> > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at
> > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at
> > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at
> > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at
> > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:132)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at
> > org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at
> > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
> >     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
> >     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
> >     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
> >     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
> >     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
> >     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
> >     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
> >     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
> >     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
> >     at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
> >     at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
> >     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
> >     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
> >     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
> >     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
> >     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
> >     at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> >     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> >     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> >     at org.apache.catalina.core.StandardService.start(StandardService.java:516)
> >     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> >     at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >     at java.lang.reflect.Method.invoke(Method.java:597)
> >     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> >     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> >
> > > From: sergey.beryozkin@progress.com
> > > To: users@cxf.apache.org
> > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > Date: Wed, 26 Nov 2008 12:31:02 +0000
> > >
> > > Thanks, I'll have a look...
> > >
> > > ----- Original Message ----- 
> > > From: "Piotr Skawinski" <p_...@hotmail.com>
> > > To: "cxf users mailing list" <us...@cxf.apache.org>
> > > Sent: Wednesday, November 26, 2008 12:21 PM
> > > Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
> > >
> > >
> > >
> > > Yes, I have seperate configuration files. One for services and one for store. Configuration files are merged into one
> > > configuration
> > > file like:
> > >
> > > <?xml version="1.0"?>
> > > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > xsi:schemaLocation="
> > > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> > >
> > >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> > >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> > >
> > > </beans>
> > >
> > > which is loaded by the CXFServlet as described in the web.xml.
> > >
> > > As I said it works fine when services are implemented using the restlet framework, but I would like to change to the JAX-RS
> > > implementation as CXF offers.
> > >
> > >
> > > > From: sergey.beryozkin@progress.com
> > > > To: users@cxf.apache.org
> > > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > > Date: Wed, 26 Nov 2008 12:05:17 +0000
> > > >
> > > > So you have seperate configuration files, right ? In what order they're loaded or how do you access them ?
> > > > I didn't know multiple config files were possible...
> > > >
> > > > Cheers, Sergey
> > > >
> > > >
> > > >
> > > > jaxws client configuration
> > > > ------------------------------
> > > >
> > > > <?xml version="1.0"?>
> > > > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > >        xsi:schemaLocation="
> > > > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> > > >
> > > >     <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">
> > > >     </bean>
> > > > </beans>
> > > >
> > > > client implementation
> > > >
> > > > --------------------
> > > >
> > > > public class FedoraServiceConnector implements FedoraService {
> > > >
> > > >     private FedoraAPIA fedoraAPIA;
> > > >     private FedoraAPIM fedoraAPIM;
> > > >
> > > >     public FedoraServiceConnector() {
> > > >         fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
> > > >         BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
> > > >         apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> > > >         apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> > > >
> > > >         fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
> > > >         BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
> > > >         apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> > > >         apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> > > >     }
> > > >     .
> > > >     .
> > > >     .
> > > > }
> > > >
> > > > FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven
> > > > for
> > > > generating ws clients.
> > > >
> > > >
> > > > sample jaxrs server configuration
> > > > -------------------------------
> > > >
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > <beans xmlns="http://www.springframework.org/schema/beans"
> > > >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > >   xmlns:jaxrs="http://cxf.apache.org/jaxrs"
> > > >   xsi:schemaLocation="
> > > > http://www.springframework.org/schema/beans
> > > > http://www.springframework.org/schema/beans/spring-beans.xsd
> > > > http://cxf.apache.org/jaxrs
> > > > http://cxf.apache.org/schemas/jaxrs.xsd">
> > > >
> > > >   <import resource="classpath:META-INF/cxf/cxf.xml" />
> > > >   <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
> > > >   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> > > >
> > > >   <jaxrs:server id="imageService" address="/">
> > > >     <jaxrs:serviceBeans>
> > > >       <ref bean="imagesServiceImpl" />
> > > >     </jaxrs:serviceBeans>
> > > >   </jaxrs:server>
> > > >
> > > >   <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
> > > >           <property name="imagesStore" ref="imagesStoreConnector"/>
> > > >   </bean>
> > > >
> > > > </beans>
> > > >
> > > > jaxrs service implementation
> > > > ---------------------------
> > > > @Path("/images")
> > > > @Produces("application/xml")
> > > > public class ImagesServiceImpl {
> > > >
> > > >     private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
> > > >     private ImagesStore imagesStore;
> > > >
> > > >     @POST
> > > >     @Path("/image")
> > > >     public ImageDTO createImage(ImageDTO imageDTO) {
> > > >         logger.debug("ImagesServiceImpl.createImage");
> > > >         try {
> > > >             logger.debug("ImagesServiceImpl.createImage");
> > > >             Image image = ImagesConverter.convertImageFromDTO(imageDTO);
> > > >             image = imagesStore.createImage(image);
> > > >             return ImagesConverter.convertImage(image);
> > > >         } catch (ParseException e) {
> > > >             throw new WebApplicationException(e);
> > > >         }
> > > >     }
> > > >
> > > >     @GET
> > > >     @Path("/image/{imageId}")
> > > >     public ImageDTO getImage(@PathParam("imageId") final String id) {
> > > >         logger.debug("ImagesServiceImpl.getImage");
> > > >         Image.Id imageId = new Image.Id(new Uberkey() {
> > > >             {
> > > >                 setUuid(new Uuid(id));
> > > >             }
> > > >         });
> > > >         Image image = imagesStore.getImage(imageId);
> > > >         return ImagesConverter.convertImage(image);
> > > >     }
> > > >
> > > >     @GET
> > > >     public ImagesDTO getAllImages() {
> > > >         logger.debug("ImagesServiceImpl.getAllImages");
> > > >         List<Image> images = imagesStore.getAllImages();
> > > >         return ImagesConverter.convertImages(images);
> > > >     }
> > > >
> > > >     public void setImagesStore(ImagesStore imagesStore) {
> > > >         this.imagesStore = imagesStore;
> > > >     }
> > > >
> > > > }
> > > >
> > > >
> > > > web.xml
> > > > --------
> > > > <?xml version="1.0"?>
> > > > <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > >          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
> > > >
> > > >     <context-param>
> > > >         <param-name>contextConfigLocation</param-name>
> > > >         <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
> > > >     </context-param>
> > > >
> > > >     <listener>
> > > >         <listener-class>
> > > >             org.springframework.web.context.ContextLoaderListener
> > > >         </listener-class>
> > > >     </listener>
> > > >
> > > >     <servlet>
> > > >         <servlet-name>CXFServlet</servlet-name>
> > > >         <servlet-class>
> > > >             org.apache.cxf.transport.servlet.CXFServlet
> > > >         </servlet-class>
> > > >         <load-on-startup>1</load-on-startup>
> > > >     </servlet>
> > > >
> > > >     <servlet-mapping>
> > > >         <servlet-name>CXFServlet</servlet-name>
> > > >         <url-pattern>/*</url-pattern>
> > > >     </servlet-mapping>
> > > >
> > > > </web-app>
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > > From: sergey.beryozkin@progress.com
> > > > > To: users@cxf.apache.org
> > > > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > > > Date: Wed, 26 Nov 2008 11:30:29 +0000
> > > > >
> > > > > Hi
> > > > >
> > > > > Can you please post
> > > > >
> > > > > - sample jaxws client configuration
> > > > > - sample jaxws server configuration if any
> > > > > - sample jaxrs server configuration
> > > > > - sample jaxws and jaxrs code you use
> > > > >
> > > > > It will make it easier to investigate the problem
> > > > >
> > > > > Cheers, Sergey
> > > > >
> > > > > ----- Original Message ----- 
> > > > > From: "Piotr Skawinski" <p_...@hotmail.com>
> > > > > To: "cxf users mailing list" <us...@cxf.apache.org>
> > > > > Sent: Wednesday, November 26, 2008 11:15 AM
> > > > > Subject: Problem of having jax-rs based services together with jax-ws based clients
> > > > >
> > > > >
> > > > >
> > > > > Hi,
> > > > >
> > > > > I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the
> > > > > client
> > > > > is
> > > > > tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> > > > > using the cxf. The problem seem not to occur when services are
> > > > > implemented using the restlet framework, or when jax-rs based services are
> > > > > deployed without the jax-ws based client. Is there a conflict of
> > > > > having the jax-rs services together with jax-ws clients, both
> > > > > implemented using the cxf?
> > > > >
> > > > > Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
> > > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
> > > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
> > > > >     at javax.xml.ws.Service.getPort(Service.java:92)
> > > > >     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
> > > > >     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
> > > > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> > > > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> > > > >     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> > > > >     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> > > > >     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
> > > > >     ... 83 more
> > > > > Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> > > > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
> > > > >     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
> > > > >     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
> > > > >     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
> > > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
> > > > >     ... 92 more
> > > > > Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
> > > > >     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
> > > > >     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
> > > > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
> > > > >     ... 96 more
> > > > >
> > > > >
> > > > > thx in advance, Piotr
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > _________________________________________________________________
> > > > > Connect to the next generation of MSN Messenger
> > > > > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> > > > >
> > > > >
> > > >
> > > > _________________________________________________________________
> > > > Explore the seven wonders of the world
> > > > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> > > >
> > > >
> > >
> > > _________________________________________________________________
> > > Discover the new Windows Vista
> > > http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
> > >
> > >
> >
> > _________________________________________________________________
> > Explore the seven wonders of the world
> > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> >
> >
>
> _________________________________________________________________
> Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
> http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us
>
>

_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE 



RE: Problem of having jax-rs based services together with jax-ws based clients

Posted by Piotr Skawinski <p_...@hotmail.com>.

OK, thanks a lot, it helped and it finally works -:)

I have just one question. Is address in the <jaxrs:server adress="..."> relative to the path defined for the CXFServlet in the web.xml?
If I have CXFSerlvet url-pattern defined as /v1/* how should I then define adress in the jaxrs:server to map my jaxrs service to /v1/x/? In the web.xml I have other servlets, so I dont want url-pattern be /*.

Piotr


> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Thu, 27 Nov 2008 15:48:12 +0000
> 
> Hi Piotr
> 
> I think the reason you might want to use cglib-nodeps in that it has no dependencies on asm and it should work ok with hibernate for 
> ex. It's a common advice which I can read on cxf user list or elsewhere. That's as far as I know about it :-). I'd not be surprised 
> if this info is available on CXF docs somewhere - but if not then it would help to all if it were added there
> 
> Cheers, Sergey
> 
> 
> 
> ----- Original Message ----- 
> From: "Piotr Skawinski" <p_...@hotmail.com>
> To: "cxf users mailing list" <us...@cxf.apache.org>
> Sent: Thursday, November 27, 2008 3:39 PM
> Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
> 
> 
> 
> 
> 
> Hi Sergey,
> 
> I think the problem now lies in the artifact versions that cxf is using and the versions that 3'rd part libriaries of my application 
> are using. What I can see is that all cxf.version from 2.1 are using 2.2.3 version of asm and the 3'rd part libriaries I'm using 
> (like hibernate, cglib, etc) is expecting to version 1.5.3. Has it been anounced which artifact to upgrade (within custom 
> applications) to get cxf (version>2.1) up and running?
> 
> Piotr
> 
> > From: sergey.beryozkin@progress.com
> > To: users@cxf.apache.org
> > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > Date: Thu, 27 Nov 2008 14:49:09 +0000
> >
> > Hi Piotr
> >
> > I'm sorry I didn't get earlier to you - and I'm happy you've found what looks like the way forward.
> > I was about to spend a bit of time today on your issue now that I've mostly finished with some of the other pending work.
> >
> > >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> > >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> >
> > Does it make any difference if you just change the order of imports, jaxws client configuration goes first, jaxrs one goes second 
> > ?
> >
> >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> >
> > Cheers, Sergey
> >
> >
> > ----- Original Message ----- 
> > From: "Piotr Skawinski" <p_...@hotmail.com>
> > To: "cxf users mailing list" <us...@cxf.apache.org>
> > Sent: Thursday, November 27, 2008 2:27 PM
> > Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
> >
> >
> >
> >
> >
> > It seems that the error get removed after putting <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> in the
> > jaxrs:server configuration, but then I faces missing classes as I get the error below. It seems that cxf is using lower/higher
> > version of some artifact than the rest of my application? When I remove the dependencies to my store (implemented using hibernate)
> > the application runs fine. I'm using cxf.version 2.2-SNAPSHOT to get it running with the latest jax-rs (1.0).
> >
> > Any suggestion what to upgrade in my application?
> >
> > regards, Piotr
> >
> > Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
> >     at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
> >     at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
> >     at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
> >     at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
> >     at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
> >     at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
> >     at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
> >     at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
> >     at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
> >     at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
> >     at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
> >     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
> >     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
> >     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
> >     at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at 
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at 
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at 
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at 
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at 
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
> >     at
> > org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:132)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
> >     at
> > org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> >     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> >     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> >     at
> > org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
> >     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
> >     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
> >     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
> >     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
> >     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
> >     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
> >     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
> >     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
> >     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
> >     at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
> >     at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
> >     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
> >     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
> >     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
> >     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
> >     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
> >     at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
> >     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
> >     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
> >     at org.apache.catalina.core.StandardService.start(StandardService.java:516)
> >     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
> >     at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >     at java.lang.reflect.Method.invoke(Method.java:597)
> >     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
> >     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> >
> > > From: sergey.beryozkin@progress.com
> > > To: users@cxf.apache.org
> > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > Date: Wed, 26 Nov 2008 12:31:02 +0000
> > >
> > > Thanks, I'll have a look...
> > >
> > > ----- Original Message ----- 
> > > From: "Piotr Skawinski" <p_...@hotmail.com>
> > > To: "cxf users mailing list" <us...@cxf.apache.org>
> > > Sent: Wednesday, November 26, 2008 12:21 PM
> > > Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
> > >
> > >
> > >
> > > Yes, I have seperate configuration files. One for services and one for store. Configuration files are merged into one
> > > configuration
> > > file like:
> > >
> > > <?xml version="1.0"?>
> > > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > xsi:schemaLocation="
> > > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> > >
> > >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> > >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> > >
> > > </beans>
> > >
> > > which is loaded by the CXFServlet as described in the web.xml.
> > >
> > > As I said it works fine when services are implemented using the restlet framework, but I would like to change to the JAX-RS
> > > implementation as CXF offers.
> > >
> > >
> > > > From: sergey.beryozkin@progress.com
> > > > To: users@cxf.apache.org
> > > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > > Date: Wed, 26 Nov 2008 12:05:17 +0000
> > > >
> > > > So you have seperate configuration files, right ? In what order they're loaded or how do you access them ?
> > > > I didn't know multiple config files were possible...
> > > >
> > > > Cheers, Sergey
> > > >
> > > >
> > > >
> > > > jaxws client configuration
> > > > ------------------------------
> > > >
> > > > <?xml version="1.0"?>
> > > > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > >        xsi:schemaLocation="
> > > > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> > > >
> > > >     <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">
> > > >     </bean>
> > > > </beans>
> > > >
> > > > client implementation
> > > >
> > > > --------------------
> > > >
> > > > public class FedoraServiceConnector implements FedoraService {
> > > >
> > > >     private FedoraAPIA fedoraAPIA;
> > > >     private FedoraAPIM fedoraAPIM;
> > > >
> > > >     public FedoraServiceConnector() {
> > > >         fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
> > > >         BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
> > > >         apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> > > >         apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> > > >
> > > >         fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
> > > >         BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
> > > >         apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> > > >         apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> > > >     }
> > > >     .
> > > >     .
> > > >     .
> > > > }
> > > >
> > > > FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven 
> > > > for
> > > > generating ws clients.
> > > >
> > > >
> > > > sample jaxrs server configuration
> > > > -------------------------------
> > > >
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > <beans xmlns="http://www.springframework.org/schema/beans"
> > > >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > >   xmlns:jaxrs="http://cxf.apache.org/jaxrs"
> > > >   xsi:schemaLocation="
> > > > http://www.springframework.org/schema/beans
> > > > http://www.springframework.org/schema/beans/spring-beans.xsd
> > > > http://cxf.apache.org/jaxrs
> > > > http://cxf.apache.org/schemas/jaxrs.xsd">
> > > >
> > > >   <import resource="classpath:META-INF/cxf/cxf.xml" />
> > > >   <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
> > > >   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> > > >
> > > >   <jaxrs:server id="imageService" address="/">
> > > >     <jaxrs:serviceBeans>
> > > >       <ref bean="imagesServiceImpl" />
> > > >     </jaxrs:serviceBeans>
> > > >   </jaxrs:server>
> > > >
> > > >   <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
> > > >           <property name="imagesStore" ref="imagesStoreConnector"/>
> > > >   </bean>
> > > >
> > > > </beans>
> > > >
> > > > jaxrs service implementation
> > > > ---------------------------
> > > > @Path("/images")
> > > > @Produces("application/xml")
> > > > public class ImagesServiceImpl {
> > > >
> > > >     private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
> > > >     private ImagesStore imagesStore;
> > > >
> > > >     @POST
> > > >     @Path("/image")
> > > >     public ImageDTO createImage(ImageDTO imageDTO) {
> > > >         logger.debug("ImagesServiceImpl.createImage");
> > > >         try {
> > > >             logger.debug("ImagesServiceImpl.createImage");
> > > >             Image image = ImagesConverter.convertImageFromDTO(imageDTO);
> > > >             image = imagesStore.createImage(image);
> > > >             return ImagesConverter.convertImage(image);
> > > >         } catch (ParseException e) {
> > > >             throw new WebApplicationException(e);
> > > >         }
> > > >     }
> > > >
> > > >     @GET
> > > >     @Path("/image/{imageId}")
> > > >     public ImageDTO getImage(@PathParam("imageId") final String id) {
> > > >         logger.debug("ImagesServiceImpl.getImage");
> > > >         Image.Id imageId = new Image.Id(new Uberkey() {
> > > >             {
> > > >                 setUuid(new Uuid(id));
> > > >             }
> > > >         });
> > > >         Image image = imagesStore.getImage(imageId);
> > > >         return ImagesConverter.convertImage(image);
> > > >     }
> > > >
> > > >     @GET
> > > >     public ImagesDTO getAllImages() {
> > > >         logger.debug("ImagesServiceImpl.getAllImages");
> > > >         List<Image> images = imagesStore.getAllImages();
> > > >         return ImagesConverter.convertImages(images);
> > > >     }
> > > >
> > > >     public void setImagesStore(ImagesStore imagesStore) {
> > > >         this.imagesStore = imagesStore;
> > > >     }
> > > >
> > > > }
> > > >
> > > >
> > > > web.xml
> > > > --------
> > > > <?xml version="1.0"?>
> > > > <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > > >          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
> > > >
> > > >     <context-param>
> > > >         <param-name>contextConfigLocation</param-name>
> > > >         <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
> > > >     </context-param>
> > > >
> > > >     <listener>
> > > >         <listener-class>
> > > >             org.springframework.web.context.ContextLoaderListener
> > > >         </listener-class>
> > > >     </listener>
> > > >
> > > >     <servlet>
> > > >         <servlet-name>CXFServlet</servlet-name>
> > > >         <servlet-class>
> > > >             org.apache.cxf.transport.servlet.CXFServlet
> > > >         </servlet-class>
> > > >         <load-on-startup>1</load-on-startup>
> > > >     </servlet>
> > > >
> > > >     <servlet-mapping>
> > > >         <servlet-name>CXFServlet</servlet-name>
> > > >         <url-pattern>/*</url-pattern>
> > > >     </servlet-mapping>
> > > >
> > > > </web-app>
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > > From: sergey.beryozkin@progress.com
> > > > > To: users@cxf.apache.org
> > > > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > > > Date: Wed, 26 Nov 2008 11:30:29 +0000
> > > > >
> > > > > Hi
> > > > >
> > > > > Can you please post
> > > > >
> > > > > - sample jaxws client configuration
> > > > > - sample jaxws server configuration if any
> > > > > - sample jaxrs server configuration
> > > > > - sample jaxws and jaxrs code you use
> > > > >
> > > > > It will make it easier to investigate the problem
> > > > >
> > > > > Cheers, Sergey
> > > > >
> > > > > ----- Original Message ----- 
> > > > > From: "Piotr Skawinski" <p_...@hotmail.com>
> > > > > To: "cxf users mailing list" <us...@cxf.apache.org>
> > > > > Sent: Wednesday, November 26, 2008 11:15 AM
> > > > > Subject: Problem of having jax-rs based services together with jax-ws based clients
> > > > >
> > > > >
> > > > >
> > > > > Hi,
> > > > >
> > > > > I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the
> > > > > client
> > > > > is
> > > > > tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> > > > > using the cxf. The problem seem not to occur when services are
> > > > > implemented using the restlet framework, or when jax-rs based services are
> > > > > deployed without the jax-ws based client. Is there a conflict of
> > > > > having the jax-rs services together with jax-ws clients, both
> > > > > implemented using the cxf?
> > > > >
> > > > > Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
> > > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
> > > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
> > > > >     at javax.xml.ws.Service.getPort(Service.java:92)
> > > > >     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
> > > > >     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
> > > > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> > > > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> > > > >     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> > > > >     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> > > > >     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
> > > > >     ... 83 more
> > > > > Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> > > > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
> > > > >     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
> > > > >     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
> > > > >     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
> > > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
> > > > >     ... 92 more
> > > > > Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
> > > > >     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
> > > > >     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
> > > > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
> > > > >     ... 96 more
> > > > >
> > > > >
> > > > > thx in advance, Piotr
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > _________________________________________________________________
> > > > > Connect to the next generation of MSN Messenger
> > > > > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> > > > >
> > > > >
> > > >
> > > > _________________________________________________________________
> > > > Explore the seven wonders of the world
> > > > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> > > >
> > > >
> > >
> > > _________________________________________________________________
> > > Discover the new Windows Vista
> > > http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
> > >
> > >
> >
> > _________________________________________________________________
> > Explore the seven wonders of the world
> > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> >
> >
> 
> _________________________________________________________________
> Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
> http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us 
> 
> 

_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE

Re: Problem of having jax-rs based services together with jax-ws based clients

Posted by Sergey Beryozkin <se...@progress.com>.
Hi Piotr

I think the reason you might want to use cglib-nodeps in that it has no dependencies on asm and it should work ok with hibernate for 
ex. It's a common advice which I can read on cxf user list or elsewhere. That's as far as I know about it :-). I'd not be surprised 
if this info is available on CXF docs somewhere - but if not then it would help to all if it were added there

Cheers, Sergey



----- Original Message ----- 
From: "Piotr Skawinski" <p_...@hotmail.com>
To: "cxf users mailing list" <us...@cxf.apache.org>
Sent: Thursday, November 27, 2008 3:39 PM
Subject: RE: Problem of having jax-rs based services together with jax-ws based clients





Hi Sergey,

I think the problem now lies in the artifact versions that cxf is using and the versions that 3'rd part libriaries of my application 
are using. What I can see is that all cxf.version from 2.1 are using 2.2.3 version of asm and the 3'rd part libriaries I'm using 
(like hibernate, cglib, etc) is expecting to version 1.5.3. Has it been anounced which artifact to upgrade (within custom 
applications) to get cxf (version>2.1) up and running?

Piotr

> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Thu, 27 Nov 2008 14:49:09 +0000
>
> Hi Piotr
>
> I'm sorry I didn't get earlier to you - and I'm happy you've found what looks like the way forward.
> I was about to spend a bit of time today on your issue now that I've mostly finished with some of the other pending work.
>
> >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
>
> Does it make any difference if you just change the order of imports, jaxws client configuration goes first, jaxrs one goes second 
> ?
>
>     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
>     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
>
> Cheers, Sergey
>
>
> ----- Original Message ----- 
> From: "Piotr Skawinski" <p_...@hotmail.com>
> To: "cxf users mailing list" <us...@cxf.apache.org>
> Sent: Thursday, November 27, 2008 2:27 PM
> Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
>
>
>
>
>
> It seems that the error get removed after putting <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> in the
> jaxrs:server configuration, but then I faces missing classes as I get the error below. It seems that cxf is using lower/higher
> version of some artifact than the rest of my application? When I remove the dependencies to my store (implemented using hibernate)
> the application runs fine. I'm using cxf.version 2.2-SNAPSHOT to get it running with the latest jax-rs (1.0).
>
> Any suggestion what to upgrade in my application?
>
> regards, Piotr
>
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
>     at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
>     at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
>     at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
>     at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
>     at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
>     at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
>     at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
>     at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
>     at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
>     at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
>     at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
>     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
>     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
>     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
>     at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
>     at
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:132)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
>     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
>     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
>     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
>     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
>     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
>     at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
>     at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
>     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
>     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
>     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>     at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>     at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>     at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
>
> > From: sergey.beryozkin@progress.com
> > To: users@cxf.apache.org
> > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > Date: Wed, 26 Nov 2008 12:31:02 +0000
> >
> > Thanks, I'll have a look...
> >
> > ----- Original Message ----- 
> > From: "Piotr Skawinski" <p_...@hotmail.com>
> > To: "cxf users mailing list" <us...@cxf.apache.org>
> > Sent: Wednesday, November 26, 2008 12:21 PM
> > Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
> >
> >
> >
> > Yes, I have seperate configuration files. One for services and one for store. Configuration files are merged into one
> > configuration
> > file like:
> >
> > <?xml version="1.0"?>
> > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:schemaLocation="
> > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> >
> >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> >
> > </beans>
> >
> > which is loaded by the CXFServlet as described in the web.xml.
> >
> > As I said it works fine when services are implemented using the restlet framework, but I would like to change to the JAX-RS
> > implementation as CXF offers.
> >
> >
> > > From: sergey.beryozkin@progress.com
> > > To: users@cxf.apache.org
> > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > Date: Wed, 26 Nov 2008 12:05:17 +0000
> > >
> > > So you have seperate configuration files, right ? In what order they're loaded or how do you access them ?
> > > I didn't know multiple config files were possible...
> > >
> > > Cheers, Sergey
> > >
> > >
> > >
> > > jaxws client configuration
> > > ------------------------------
> > >
> > > <?xml version="1.0"?>
> > > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > >        xsi:schemaLocation="
> > > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> > >
> > >     <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">
> > >     </bean>
> > > </beans>
> > >
> > > client implementation
> > >
> > > --------------------
> > >
> > > public class FedoraServiceConnector implements FedoraService {
> > >
> > >     private FedoraAPIA fedoraAPIA;
> > >     private FedoraAPIM fedoraAPIM;
> > >
> > >     public FedoraServiceConnector() {
> > >         fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
> > >         BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
> > >         apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> > >         apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> > >
> > >         fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
> > >         BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
> > >         apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> > >         apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> > >     }
> > >     .
> > >     .
> > >     .
> > > }
> > >
> > > FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven 
> > > for
> > > generating ws clients.
> > >
> > >
> > > sample jaxrs server configuration
> > > -------------------------------
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <beans xmlns="http://www.springframework.org/schema/beans"
> > >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > >   xmlns:jaxrs="http://cxf.apache.org/jaxrs"
> > >   xsi:schemaLocation="
> > > http://www.springframework.org/schema/beans
> > > http://www.springframework.org/schema/beans/spring-beans.xsd
> > > http://cxf.apache.org/jaxrs
> > > http://cxf.apache.org/schemas/jaxrs.xsd">
> > >
> > >   <import resource="classpath:META-INF/cxf/cxf.xml" />
> > >   <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
> > >   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> > >
> > >   <jaxrs:server id="imageService" address="/">
> > >     <jaxrs:serviceBeans>
> > >       <ref bean="imagesServiceImpl" />
> > >     </jaxrs:serviceBeans>
> > >   </jaxrs:server>
> > >
> > >   <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
> > >           <property name="imagesStore" ref="imagesStoreConnector"/>
> > >   </bean>
> > >
> > > </beans>
> > >
> > > jaxrs service implementation
> > > ---------------------------
> > > @Path("/images")
> > > @Produces("application/xml")
> > > public class ImagesServiceImpl {
> > >
> > >     private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
> > >     private ImagesStore imagesStore;
> > >
> > >     @POST
> > >     @Path("/image")
> > >     public ImageDTO createImage(ImageDTO imageDTO) {
> > >         logger.debug("ImagesServiceImpl.createImage");
> > >         try {
> > >             logger.debug("ImagesServiceImpl.createImage");
> > >             Image image = ImagesConverter.convertImageFromDTO(imageDTO);
> > >             image = imagesStore.createImage(image);
> > >             return ImagesConverter.convertImage(image);
> > >         } catch (ParseException e) {
> > >             throw new WebApplicationException(e);
> > >         }
> > >     }
> > >
> > >     @GET
> > >     @Path("/image/{imageId}")
> > >     public ImageDTO getImage(@PathParam("imageId") final String id) {
> > >         logger.debug("ImagesServiceImpl.getImage");
> > >         Image.Id imageId = new Image.Id(new Uberkey() {
> > >             {
> > >                 setUuid(new Uuid(id));
> > >             }
> > >         });
> > >         Image image = imagesStore.getImage(imageId);
> > >         return ImagesConverter.convertImage(image);
> > >     }
> > >
> > >     @GET
> > >     public ImagesDTO getAllImages() {
> > >         logger.debug("ImagesServiceImpl.getAllImages");
> > >         List<Image> images = imagesStore.getAllImages();
> > >         return ImagesConverter.convertImages(images);
> > >     }
> > >
> > >     public void setImagesStore(ImagesStore imagesStore) {
> > >         this.imagesStore = imagesStore;
> > >     }
> > >
> > > }
> > >
> > >
> > > web.xml
> > > --------
> > > <?xml version="1.0"?>
> > > <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > >          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
> > >
> > >     <context-param>
> > >         <param-name>contextConfigLocation</param-name>
> > >         <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
> > >     </context-param>
> > >
> > >     <listener>
> > >         <listener-class>
> > >             org.springframework.web.context.ContextLoaderListener
> > >         </listener-class>
> > >     </listener>
> > >
> > >     <servlet>
> > >         <servlet-name>CXFServlet</servlet-name>
> > >         <servlet-class>
> > >             org.apache.cxf.transport.servlet.CXFServlet
> > >         </servlet-class>
> > >         <load-on-startup>1</load-on-startup>
> > >     </servlet>
> > >
> > >     <servlet-mapping>
> > >         <servlet-name>CXFServlet</servlet-name>
> > >         <url-pattern>/*</url-pattern>
> > >     </servlet-mapping>
> > >
> > > </web-app>
> > >
> > >
> > >
> > >
> > >
> > > > From: sergey.beryozkin@progress.com
> > > > To: users@cxf.apache.org
> > > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > > Date: Wed, 26 Nov 2008 11:30:29 +0000
> > > >
> > > > Hi
> > > >
> > > > Can you please post
> > > >
> > > > - sample jaxws client configuration
> > > > - sample jaxws server configuration if any
> > > > - sample jaxrs server configuration
> > > > - sample jaxws and jaxrs code you use
> > > >
> > > > It will make it easier to investigate the problem
> > > >
> > > > Cheers, Sergey
> > > >
> > > > ----- Original Message ----- 
> > > > From: "Piotr Skawinski" <p_...@hotmail.com>
> > > > To: "cxf users mailing list" <us...@cxf.apache.org>
> > > > Sent: Wednesday, November 26, 2008 11:15 AM
> > > > Subject: Problem of having jax-rs based services together with jax-ws based clients
> > > >
> > > >
> > > >
> > > > Hi,
> > > >
> > > > I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the
> > > > client
> > > > is
> > > > tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> > > > using the cxf. The problem seem not to occur when services are
> > > > implemented using the restlet framework, or when jax-rs based services are
> > > > deployed without the jax-ws based client. Is there a conflict of
> > > > having the jax-rs services together with jax-ws clients, both
> > > > implemented using the cxf?
> > > >
> > > > Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
> > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
> > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
> > > >     at javax.xml.ws.Service.getPort(Service.java:92)
> > > >     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
> > > >     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
> > > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> > > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> > > >     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> > > >     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> > > >     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
> > > >     ... 83 more
> > > > Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> > > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
> > > >     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
> > > >     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
> > > >     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
> > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
> > > >     ... 92 more
> > > > Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
> > > >     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
> > > >     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
> > > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
> > > >     ... 96 more
> > > >
> > > >
> > > > thx in advance, Piotr
> > > >
> > > >
> > > >
> > > >
> > > > _________________________________________________________________
> > > > Connect to the next generation of MSN Messenger
> > > > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> > > >
> > > >
> > >
> > > _________________________________________________________________
> > > Explore the seven wonders of the world
> > > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> > >
> > >
> >
> > _________________________________________________________________
> > Discover the new Windows Vista
> > http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
> >
> >
>
> _________________________________________________________________
> Explore the seven wonders of the world
> http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
>
>

_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us 



RE: Problem of having jax-rs based services together with jax-ws based clients

Posted by Piotr Skawinski <p_...@hotmail.com>.


Hi Sergey,

I think the problem now lies in the artifact versions that cxf is using and the versions that 3'rd part libriaries of my application are using. What I can see is that all cxf.version from 2.1 are using 2.2.3 version of asm and the 3'rd part libriaries I'm using (like hibernate, cglib, etc) is expecting to version 1.5.3. Has it been anounced which artifact to upgrade (within custom applications) to get cxf (version>2.1) up and running?

Piotr

> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Thu, 27 Nov 2008 14:49:09 +0000
> 
> Hi Piotr
> 
> I'm sorry I didn't get earlier to you - and I'm happy you've found what looks like the way forward.
> I was about to spend a bit of time today on your issue now that I've mostly finished with some of the other pending work.
> 
> >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> 
> Does it make any difference if you just change the order of imports, jaxws client configuration goes first, jaxrs one goes second ?
> 
>     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
>     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> 
> Cheers, Sergey
> 
> 
> ----- Original Message ----- 
> From: "Piotr Skawinski" <p_...@hotmail.com>
> To: "cxf users mailing list" <us...@cxf.apache.org>
> Sent: Thursday, November 27, 2008 2:27 PM
> Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
> 
> 
> 
> 
> 
> It seems that the error get removed after putting <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> in the 
> jaxrs:server configuration, but then I faces missing classes as I get the error below. It seems that cxf is using lower/higher 
> version of some artifact than the rest of my application? When I remove the dependencies to my store (implemented using hibernate) 
> the application runs fine. I'm using cxf.version 2.2-SNAPSHOT to get it running with the latest jax-rs (1.0).
> 
> Any suggestion what to upgrade in my application?
> 
> regards, Piotr
> 
> Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
>     at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
>     at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
>     at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
>     at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
>     at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
>     at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
>     at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
>     at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
>     at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
>     at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
>     at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
>     at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
>     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
>     at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
>     at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
>     at 
> org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:132)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
>     at 
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
>     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
>     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
>     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
>     at 
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
>     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
>     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
>     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
>     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
>     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
>     at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
>     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
>     at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
>     at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
>     at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
>     at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
>     at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
>     at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
>     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
>     at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
>     at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
>     at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
>     at org.apache.catalina.core.StandardService.start(StandardService.java:516)
>     at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
>     at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
>     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
> 
> > From: sergey.beryozkin@progress.com
> > To: users@cxf.apache.org
> > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > Date: Wed, 26 Nov 2008 12:31:02 +0000
> >
> > Thanks, I'll have a look...
> >
> > ----- Original Message ----- 
> > From: "Piotr Skawinski" <p_...@hotmail.com>
> > To: "cxf users mailing list" <us...@cxf.apache.org>
> > Sent: Wednesday, November 26, 2008 12:21 PM
> > Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
> >
> >
> >
> > Yes, I have seperate configuration files. One for services and one for store. Configuration files are merged into one 
> > configuration
> > file like:
> >
> > <?xml version="1.0"?>
> > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xsi:schemaLocation="
> > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> >
> >     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
> >     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> >
> > </beans>
> >
> > which is loaded by the CXFServlet as described in the web.xml.
> >
> > As I said it works fine when services are implemented using the restlet framework, but I would like to change to the JAX-RS
> > implementation as CXF offers.
> >
> >
> > > From: sergey.beryozkin@progress.com
> > > To: users@cxf.apache.org
> > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > Date: Wed, 26 Nov 2008 12:05:17 +0000
> > >
> > > So you have seperate configuration files, right ? In what order they're loaded or how do you access them ?
> > > I didn't know multiple config files were possible...
> > >
> > > Cheers, Sergey
> > >
> > >
> > >
> > > jaxws client configuration
> > > ------------------------------
> > >
> > > <?xml version="1.0"?>
> > > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > >        xsi:schemaLocation="
> > > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> > >
> > >     <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">
> > >     </bean>
> > > </beans>
> > >
> > > client implementation
> > >
> > > --------------------
> > >
> > > public class FedoraServiceConnector implements FedoraService {
> > >
> > >     private FedoraAPIA fedoraAPIA;
> > >     private FedoraAPIM fedoraAPIM;
> > >
> > >     public FedoraServiceConnector() {
> > >         fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
> > >         BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
> > >         apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> > >         apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> > >
> > >         fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
> > >         BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
> > >         apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> > >         apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> > >     }
> > >     .
> > >     .
> > >     .
> > > }
> > >
> > > FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven for
> > > generating ws clients.
> > >
> > >
> > > sample jaxrs server configuration
> > > -------------------------------
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <beans xmlns="http://www.springframework.org/schema/beans"
> > >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > >   xmlns:jaxrs="http://cxf.apache.org/jaxrs"
> > >   xsi:schemaLocation="
> > > http://www.springframework.org/schema/beans
> > > http://www.springframework.org/schema/beans/spring-beans.xsd
> > > http://cxf.apache.org/jaxrs
> > > http://cxf.apache.org/schemas/jaxrs.xsd">
> > >
> > >   <import resource="classpath:META-INF/cxf/cxf.xml" />
> > >   <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
> > >   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> > >
> > >   <jaxrs:server id="imageService" address="/">
> > >     <jaxrs:serviceBeans>
> > >       <ref bean="imagesServiceImpl" />
> > >     </jaxrs:serviceBeans>
> > >   </jaxrs:server>
> > >
> > >   <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
> > >           <property name="imagesStore" ref="imagesStoreConnector"/>
> > >   </bean>
> > >
> > > </beans>
> > >
> > > jaxrs service implementation
> > > ---------------------------
> > > @Path("/images")
> > > @Produces("application/xml")
> > > public class ImagesServiceImpl {
> > >
> > >     private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
> > >     private ImagesStore imagesStore;
> > >
> > >     @POST
> > >     @Path("/image")
> > >     public ImageDTO createImage(ImageDTO imageDTO) {
> > >         logger.debug("ImagesServiceImpl.createImage");
> > >         try {
> > >             logger.debug("ImagesServiceImpl.createImage");
> > >             Image image = ImagesConverter.convertImageFromDTO(imageDTO);
> > >             image = imagesStore.createImage(image);
> > >             return ImagesConverter.convertImage(image);
> > >         } catch (ParseException e) {
> > >             throw new WebApplicationException(e);
> > >         }
> > >     }
> > >
> > >     @GET
> > >     @Path("/image/{imageId}")
> > >     public ImageDTO getImage(@PathParam("imageId") final String id) {
> > >         logger.debug("ImagesServiceImpl.getImage");
> > >         Image.Id imageId = new Image.Id(new Uberkey() {
> > >             {
> > >                 setUuid(new Uuid(id));
> > >             }
> > >         });
> > >         Image image = imagesStore.getImage(imageId);
> > >         return ImagesConverter.convertImage(image);
> > >     }
> > >
> > >     @GET
> > >     public ImagesDTO getAllImages() {
> > >         logger.debug("ImagesServiceImpl.getAllImages");
> > >         List<Image> images = imagesStore.getAllImages();
> > >         return ImagesConverter.convertImages(images);
> > >     }
> > >
> > >     public void setImagesStore(ImagesStore imagesStore) {
> > >         this.imagesStore = imagesStore;
> > >     }
> > >
> > > }
> > >
> > >
> > > web.xml
> > > --------
> > > <?xml version="1.0"?>
> > > <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > >          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
> > >
> > >     <context-param>
> > >         <param-name>contextConfigLocation</param-name>
> > >         <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
> > >     </context-param>
> > >
> > >     <listener>
> > >         <listener-class>
> > >             org.springframework.web.context.ContextLoaderListener
> > >         </listener-class>
> > >     </listener>
> > >
> > >     <servlet>
> > >         <servlet-name>CXFServlet</servlet-name>
> > >         <servlet-class>
> > >             org.apache.cxf.transport.servlet.CXFServlet
> > >         </servlet-class>
> > >         <load-on-startup>1</load-on-startup>
> > >     </servlet>
> > >
> > >     <servlet-mapping>
> > >         <servlet-name>CXFServlet</servlet-name>
> > >         <url-pattern>/*</url-pattern>
> > >     </servlet-mapping>
> > >
> > > </web-app>
> > >
> > >
> > >
> > >
> > >
> > > > From: sergey.beryozkin@progress.com
> > > > To: users@cxf.apache.org
> > > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > > Date: Wed, 26 Nov 2008 11:30:29 +0000
> > > >
> > > > Hi
> > > >
> > > > Can you please post
> > > >
> > > > - sample jaxws client configuration
> > > > - sample jaxws server configuration if any
> > > > - sample jaxrs server configuration
> > > > - sample jaxws and jaxrs code you use
> > > >
> > > > It will make it easier to investigate the problem
> > > >
> > > > Cheers, Sergey
> > > >
> > > > ----- Original Message ----- 
> > > > From: "Piotr Skawinski" <p_...@hotmail.com>
> > > > To: "cxf users mailing list" <us...@cxf.apache.org>
> > > > Sent: Wednesday, November 26, 2008 11:15 AM
> > > > Subject: Problem of having jax-rs based services together with jax-ws based clients
> > > >
> > > >
> > > >
> > > > Hi,
> > > >
> > > > I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the 
> > > > client
> > > > is
> > > > tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> > > > using the cxf. The problem seem not to occur when services are
> > > > implemented using the restlet framework, or when jax-rs based services are
> > > > deployed without the jax-ws based client. Is there a conflict of
> > > > having the jax-rs services together with jax-ws clients, both
> > > > implemented using the cxf?
> > > >
> > > > Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
> > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
> > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
> > > >     at javax.xml.ws.Service.getPort(Service.java:92)
> > > >     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
> > > >     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
> > > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> > > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> > > >     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> > > >     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> > > >     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
> > > >     ... 83 more
> > > > Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> > > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
> > > >     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
> > > >     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
> > > >     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
> > > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
> > > >     ... 92 more
> > > > Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
> > > >     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
> > > >     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
> > > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
> > > >     ... 96 more
> > > >
> > > >
> > > > thx in advance, Piotr
> > > >
> > > >
> > > >
> > > >
> > > > _________________________________________________________________
> > > > Connect to the next generation of MSN Messenger
> > > > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> > > >
> > > >
> > >
> > > _________________________________________________________________
> > > Explore the seven wonders of the world
> > > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> > >
> > >
> >
> > _________________________________________________________________
> > Discover the new Windows Vista
> > http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
> >
> >
> 
> _________________________________________________________________
> Explore the seven wonders of the world
> http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE 
> 
> 

_________________________________________________________________
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy!
http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&mkt=en-us

Re: Problem of having jax-rs based services together with jax-ws based clients

Posted by Sergey Beryozkin <se...@progress.com>.
Hi Piotr

I'm sorry I didn't get earlier to you - and I'm happy you've found what looks like the way forward.
I was about to spend a bit of time today on your issue now that I've mostly finished with some of the other pending work.

>     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
>     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>

Does it make any difference if you just change the order of imports, jaxws client configuration goes first, jaxrs one goes second ?

    <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
    <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>

Cheers, Sergey


----- Original Message ----- 
From: "Piotr Skawinski" <p_...@hotmail.com>
To: "cxf users mailing list" <us...@cxf.apache.org>
Sent: Thursday, November 27, 2008 2:27 PM
Subject: RE: Problem of having jax-rs based services together with jax-ws based clients





It seems that the error get removed after putting <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> in the 
jaxrs:server configuration, but then I faces missing classes as I get the error below. It seems that cxf is using lower/higher 
version of some artifact than the rest of my application? When I remove the dependencies to my store (implemented using hibernate) 
the application runs fine. I'm using cxf.version 2.2-SNAPSHOT to get it running with the latest jax-rs (1.0).

Any suggestion what to upgrade in my application?

regards, Piotr

Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
    at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
    at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
    at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
    at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
    at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
    at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
    at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
    at 
org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:132)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Wed, 26 Nov 2008 12:31:02 +0000
>
> Thanks, I'll have a look...
>
> ----- Original Message ----- 
> From: "Piotr Skawinski" <p_...@hotmail.com>
> To: "cxf users mailing list" <us...@cxf.apache.org>
> Sent: Wednesday, November 26, 2008 12:21 PM
> Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
>
>
>
> Yes, I have seperate configuration files. One for services and one for store. Configuration files are merged into one 
> configuration
> file like:
>
> <?xml version="1.0"?>
> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
>
>     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
>     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
>
> </beans>
>
> which is loaded by the CXFServlet as described in the web.xml.
>
> As I said it works fine when services are implemented using the restlet framework, but I would like to change to the JAX-RS
> implementation as CXF offers.
>
>
> > From: sergey.beryozkin@progress.com
> > To: users@cxf.apache.org
> > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > Date: Wed, 26 Nov 2008 12:05:17 +0000
> >
> > So you have seperate configuration files, right ? In what order they're loaded or how do you access them ?
> > I didn't know multiple config files were possible...
> >
> > Cheers, Sergey
> >
> >
> >
> > jaxws client configuration
> > ------------------------------
> >
> > <?xml version="1.0"?>
> > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >        xsi:schemaLocation="
> > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> >
> >     <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">
> >     </bean>
> > </beans>
> >
> > client implementation
> >
> > --------------------
> >
> > public class FedoraServiceConnector implements FedoraService {
> >
> >     private FedoraAPIA fedoraAPIA;
> >     private FedoraAPIM fedoraAPIM;
> >
> >     public FedoraServiceConnector() {
> >         fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
> >         BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
> >         apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> >         apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> >
> >         fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
> >         BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
> >         apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> >         apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> >     }
> >     .
> >     .
> >     .
> > }
> >
> > FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven for
> > generating ws clients.
> >
> >
> > sample jaxrs server configuration
> > -------------------------------
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <beans xmlns="http://www.springframework.org/schema/beans"
> >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >   xmlns:jaxrs="http://cxf.apache.org/jaxrs"
> >   xsi:schemaLocation="
> > http://www.springframework.org/schema/beans
> > http://www.springframework.org/schema/beans/spring-beans.xsd
> > http://cxf.apache.org/jaxrs
> > http://cxf.apache.org/schemas/jaxrs.xsd">
> >
> >   <import resource="classpath:META-INF/cxf/cxf.xml" />
> >   <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
> >   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> >
> >   <jaxrs:server id="imageService" address="/">
> >     <jaxrs:serviceBeans>
> >       <ref bean="imagesServiceImpl" />
> >     </jaxrs:serviceBeans>
> >   </jaxrs:server>
> >
> >   <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
> >           <property name="imagesStore" ref="imagesStoreConnector"/>
> >   </bean>
> >
> > </beans>
> >
> > jaxrs service implementation
> > ---------------------------
> > @Path("/images")
> > @Produces("application/xml")
> > public class ImagesServiceImpl {
> >
> >     private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
> >     private ImagesStore imagesStore;
> >
> >     @POST
> >     @Path("/image")
> >     public ImageDTO createImage(ImageDTO imageDTO) {
> >         logger.debug("ImagesServiceImpl.createImage");
> >         try {
> >             logger.debug("ImagesServiceImpl.createImage");
> >             Image image = ImagesConverter.convertImageFromDTO(imageDTO);
> >             image = imagesStore.createImage(image);
> >             return ImagesConverter.convertImage(image);
> >         } catch (ParseException e) {
> >             throw new WebApplicationException(e);
> >         }
> >     }
> >
> >     @GET
> >     @Path("/image/{imageId}")
> >     public ImageDTO getImage(@PathParam("imageId") final String id) {
> >         logger.debug("ImagesServiceImpl.getImage");
> >         Image.Id imageId = new Image.Id(new Uberkey() {
> >             {
> >                 setUuid(new Uuid(id));
> >             }
> >         });
> >         Image image = imagesStore.getImage(imageId);
> >         return ImagesConverter.convertImage(image);
> >     }
> >
> >     @GET
> >     public ImagesDTO getAllImages() {
> >         logger.debug("ImagesServiceImpl.getAllImages");
> >         List<Image> images = imagesStore.getAllImages();
> >         return ImagesConverter.convertImages(images);
> >     }
> >
> >     public void setImagesStore(ImagesStore imagesStore) {
> >         this.imagesStore = imagesStore;
> >     }
> >
> > }
> >
> >
> > web.xml
> > --------
> > <?xml version="1.0"?>
> > <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
> >
> >     <context-param>
> >         <param-name>contextConfigLocation</param-name>
> >         <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
> >     </context-param>
> >
> >     <listener>
> >         <listener-class>
> >             org.springframework.web.context.ContextLoaderListener
> >         </listener-class>
> >     </listener>
> >
> >     <servlet>
> >         <servlet-name>CXFServlet</servlet-name>
> >         <servlet-class>
> >             org.apache.cxf.transport.servlet.CXFServlet
> >         </servlet-class>
> >         <load-on-startup>1</load-on-startup>
> >     </servlet>
> >
> >     <servlet-mapping>
> >         <servlet-name>CXFServlet</servlet-name>
> >         <url-pattern>/*</url-pattern>
> >     </servlet-mapping>
> >
> > </web-app>
> >
> >
> >
> >
> >
> > > From: sergey.beryozkin@progress.com
> > > To: users@cxf.apache.org
> > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > Date: Wed, 26 Nov 2008 11:30:29 +0000
> > >
> > > Hi
> > >
> > > Can you please post
> > >
> > > - sample jaxws client configuration
> > > - sample jaxws server configuration if any
> > > - sample jaxrs server configuration
> > > - sample jaxws and jaxrs code you use
> > >
> > > It will make it easier to investigate the problem
> > >
> > > Cheers, Sergey
> > >
> > > ----- Original Message ----- 
> > > From: "Piotr Skawinski" <p_...@hotmail.com>
> > > To: "cxf users mailing list" <us...@cxf.apache.org>
> > > Sent: Wednesday, November 26, 2008 11:15 AM
> > > Subject: Problem of having jax-rs based services together with jax-ws based clients
> > >
> > >
> > >
> > > Hi,
> > >
> > > I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the 
> > > client
> > > is
> > > tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> > > using the cxf. The problem seem not to occur when services are
> > > implemented using the restlet framework, or when jax-rs based services are
> > > deployed without the jax-ws based client. Is there a conflict of
> > > having the jax-rs services together with jax-ws clients, both
> > > implemented using the cxf?
> > >
> > > Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
> > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
> > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
> > >     at javax.xml.ws.Service.getPort(Service.java:92)
> > >     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
> > >     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
> > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> > >     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> > >     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> > >     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
> > >     ... 83 more
> > > Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
> > >     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
> > >     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
> > >     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
> > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
> > >     ... 92 more
> > > Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
> > >     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
> > >     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
> > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
> > >     ... 96 more
> > >
> > >
> > > thx in advance, Piotr
> > >
> > >
> > >
> > >
> > > _________________________________________________________________
> > > Connect to the next generation of MSN Messenger
> > > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> > >
> > >
> >
> > _________________________________________________________________
> > Explore the seven wonders of the world
> > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> >
> >
>
> _________________________________________________________________
> Discover the new Windows Vista
> http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
>
>

_________________________________________________________________
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE 



RE: Problem of having jax-rs based services together with jax-ws based clients

Posted by Piotr Skawinski <p_...@hotmail.com>.


It seems that the error get removed after putting <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> in the jaxrs:server configuration, but then I faces missing classes as I get the error below. It seems that cxf is using lower/higher version of some artifact than the rest of my application? When I remove the dependencies to my store (implemented using hibernate) the application runs fine. I'm using cxf.version 2.2-SNAPSHOT to get it running with the latest jax-rs (1.0). 

Any suggestion what to upgrade in my application?

regards, Piotr

Caused by: java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer
    at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.getProxyFactory(CGLIBLazyInitializer.java:117)
    at org.hibernate.proxy.pojo.cglib.CGLIBProxyFactory.postInstantiate(CGLIBProxyFactory.java:43)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.buildProxyFactory(PojoEntityTuplizer.java:162)
    at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:135)
    at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
    at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
    at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:302)
    at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
    at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
    at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
    at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:805)
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:745)
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:134)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1203)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1172)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:427)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:267)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:287)
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:132)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1100)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:862)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:423)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:291)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:246)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:189)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:49)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:627)
    at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
    at org.apache.catalina.core.StandardService.start(StandardService.java:516)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Wed, 26 Nov 2008 12:31:02 +0000
> 
> Thanks, I'll have a look...
> 
> ----- Original Message ----- 
> From: "Piotr Skawinski" <p_...@hotmail.com>
> To: "cxf users mailing list" <us...@cxf.apache.org>
> Sent: Wednesday, November 26, 2008 12:21 PM
> Subject: RE: Problem of having jax-rs based services together with jax-ws based clients
> 
> 
> 
> Yes, I have seperate configuration files. One for services and one for store. Configuration files are merged into one configuration 
> file like:
> 
> <?xml version="1.0"?>
> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
> xsi:schemaLocation="
> http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> 
>     <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
>     <import resource="classpath:/arena.cs.images/images-store-connector.context"/>
> 
> </beans>
> 
> which is loaded by the CXFServlet as described in the web.xml.
> 
> As I said it works fine when services are implemented using the restlet framework, but I would like to change to the JAX-RS 
> implementation as CXF offers.
> 
> 
> > From: sergey.beryozkin@progress.com
> > To: users@cxf.apache.org
> > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > Date: Wed, 26 Nov 2008 12:05:17 +0000
> >
> > So you have seperate configuration files, right ? In what order they're loaded or how do you access them ?
> > I didn't know multiple config files were possible...
> >
> > Cheers, Sergey
> >
> >
> >
> > jaxws client configuration
> > ------------------------------
> >
> > <?xml version="1.0"?>
> > <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >        xsi:schemaLocation="
> > http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> >
> >     <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">
> >     </bean>
> > </beans>
> >
> > client implementation
> >
> > --------------------
> >
> > public class FedoraServiceConnector implements FedoraService {
> >
> >     private FedoraAPIA fedoraAPIA;
> >     private FedoraAPIM fedoraAPIM;
> >
> >     public FedoraServiceConnector() {
> >         fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
> >         BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
> >         apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> >         apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> >
> >         fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
> >         BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
> >         apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
> >         apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> >     }
> >     .
> >     .
> >     .
> > }
> >
> > FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven for
> > generating ws clients.
> >
> >
> > sample jaxrs server configuration
> > -------------------------------
> >
> > <?xml version="1.0" encoding="UTF-8"?>
> > <beans xmlns="http://www.springframework.org/schema/beans"
> >   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >   xmlns:jaxrs="http://cxf.apache.org/jaxrs"
> >   xsi:schemaLocation="
> > http://www.springframework.org/schema/beans
> > http://www.springframework.org/schema/beans/spring-beans.xsd
> > http://cxf.apache.org/jaxrs
> > http://cxf.apache.org/schemas/jaxrs.xsd">
> >
> >   <import resource="classpath:META-INF/cxf/cxf.xml" />
> >   <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
> >   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> >
> >   <jaxrs:server id="imageService" address="/">
> >     <jaxrs:serviceBeans>
> >       <ref bean="imagesServiceImpl" />
> >     </jaxrs:serviceBeans>
> >   </jaxrs:server>
> >
> >   <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
> >           <property name="imagesStore" ref="imagesStoreConnector"/>
> >   </bean>
> >
> > </beans>
> >
> > jaxrs service implementation
> > ---------------------------
> > @Path("/images")
> > @Produces("application/xml")
> > public class ImagesServiceImpl {
> >
> >     private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
> >     private ImagesStore imagesStore;
> >
> >     @POST
> >     @Path("/image")
> >     public ImageDTO createImage(ImageDTO imageDTO) {
> >         logger.debug("ImagesServiceImpl.createImage");
> >         try {
> >             logger.debug("ImagesServiceImpl.createImage");
> >             Image image = ImagesConverter.convertImageFromDTO(imageDTO);
> >             image = imagesStore.createImage(image);
> >             return ImagesConverter.convertImage(image);
> >         } catch (ParseException e) {
> >             throw new WebApplicationException(e);
> >         }
> >     }
> >
> >     @GET
> >     @Path("/image/{imageId}")
> >     public ImageDTO getImage(@PathParam("imageId") final String id) {
> >         logger.debug("ImagesServiceImpl.getImage");
> >         Image.Id imageId = new Image.Id(new Uberkey() {
> >             {
> >                 setUuid(new Uuid(id));
> >             }
> >         });
> >         Image image = imagesStore.getImage(imageId);
> >         return ImagesConverter.convertImage(image);
> >     }
> >
> >     @GET
> >     public ImagesDTO getAllImages() {
> >         logger.debug("ImagesServiceImpl.getAllImages");
> >         List<Image> images = imagesStore.getAllImages();
> >         return ImagesConverter.convertImages(images);
> >     }
> >
> >     public void setImagesStore(ImagesStore imagesStore) {
> >         this.imagesStore = imagesStore;
> >     }
> >
> > }
> >
> >
> > web.xml
> > --------
> > <?xml version="1.0"?>
> > <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> >          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
> >
> >     <context-param>
> >         <param-name>contextConfigLocation</param-name>
> >         <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
> >     </context-param>
> >
> >     <listener>
> >         <listener-class>
> >             org.springframework.web.context.ContextLoaderListener
> >         </listener-class>
> >     </listener>
> >
> >     <servlet>
> >         <servlet-name>CXFServlet</servlet-name>
> >         <servlet-class>
> >             org.apache.cxf.transport.servlet.CXFServlet
> >         </servlet-class>
> >         <load-on-startup>1</load-on-startup>
> >     </servlet>
> >
> >     <servlet-mapping>
> >         <servlet-name>CXFServlet</servlet-name>
> >         <url-pattern>/*</url-pattern>
> >     </servlet-mapping>
> >
> > </web-app>
> >
> >
> >
> >
> >
> > > From: sergey.beryozkin@progress.com
> > > To: users@cxf.apache.org
> > > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > > Date: Wed, 26 Nov 2008 11:30:29 +0000
> > >
> > > Hi
> > >
> > > Can you please post
> > >
> > > - sample jaxws client configuration
> > > - sample jaxws server configuration if any
> > > - sample jaxrs server configuration
> > > - sample jaxws and jaxrs code you use
> > >
> > > It will make it easier to investigate the problem
> > >
> > > Cheers, Sergey
> > >
> > > ----- Original Message ----- 
> > > From: "Piotr Skawinski" <p_...@hotmail.com>
> > > To: "cxf users mailing list" <us...@cxf.apache.org>
> > > Sent: Wednesday, November 26, 2008 11:15 AM
> > > Subject: Problem of having jax-rs based services together with jax-ws based clients
> > >
> > >
> > >
> > > Hi,
> > >
> > > I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the client
> > > is
> > > tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> > > using the cxf. The problem seem not to occur when services are
> > > implemented using the restlet framework, or when jax-rs based services are
> > > deployed without the jax-ws based client. Is there a conflict of
> > > having the jax-rs services together with jax-ws clients, both
> > > implemented using the cxf?
> > >
> > > Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
> > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
> > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
> > >     at javax.xml.ws.Service.getPort(Service.java:92)
> > >     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
> > >     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
> > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> > >     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> > >     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> > >     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> > >     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
> > >     ... 83 more
> > > Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
> > >     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
> > >     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
> > >     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
> > >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
> > >     ... 92 more
> > > Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
> > >     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
> > >     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
> > >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
> > >     ... 96 more
> > >
> > >
> > > thx in advance, Piotr
> > >
> > >
> > >
> > >
> > > _________________________________________________________________
> > > Connect to the next generation of MSN Messenger
> > > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> > >
> > >
> >
> > _________________________________________________________________
> > Explore the seven wonders of the world
> > http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
> >
> >
> 
> _________________________________________________________________
> Discover the new Windows Vista
> http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE 
> 
> 

_________________________________________________________________
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE

Re: Problem of having jax-rs based services together with jax-ws based clients

Posted by Sergey Beryozkin <se...@progress.com>.
Thanks, I'll have a look...

----- Original Message ----- 
From: "Piotr Skawinski" <p_...@hotmail.com>
To: "cxf users mailing list" <us...@cxf.apache.org>
Sent: Wednesday, November 26, 2008 12:21 PM
Subject: RE: Problem of having jax-rs based services together with jax-ws based clients



Yes, I have seperate configuration files. One for services and one for store. Configuration files are merged into one configuration 
file like:

<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
    <import resource="classpath:/arena.cs.images/images-store-connector.context"/>

</beans>

which is loaded by the CXFServlet as described in the web.xml.

As I said it works fine when services are implemented using the restlet framework, but I would like to change to the JAX-RS 
implementation as CXF offers.


> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Wed, 26 Nov 2008 12:05:17 +0000
>
> So you have seperate configuration files, right ? In what order they're loaded or how do you access them ?
> I didn't know multiple config files were possible...
>
> Cheers, Sergey
>
>
>
> jaxws client configuration
> ------------------------------
>
> <?xml version="1.0"?>
> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>        xsi:schemaLocation="
> http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
>
>     <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">
>     </bean>
> </beans>
>
> client implementation
>
> --------------------
>
> public class FedoraServiceConnector implements FedoraService {
>
>     private FedoraAPIA fedoraAPIA;
>     private FedoraAPIM fedoraAPIM;
>
>     public FedoraServiceConnector() {
>         fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
>         BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
>         apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
>         apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
>
>         fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
>         BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
>         apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
>         apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
>     }
>     .
>     .
>     .
> }
>
> FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven for
> generating ws clients.
>
>
> sample jaxrs server configuration
> -------------------------------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>   xmlns:jaxrs="http://cxf.apache.org/jaxrs"
>   xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://cxf.apache.org/jaxrs
> http://cxf.apache.org/schemas/jaxrs.xsd">
>
>   <import resource="classpath:META-INF/cxf/cxf.xml" />
>   <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
>   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
>
>   <jaxrs:server id="imageService" address="/">
>     <jaxrs:serviceBeans>
>       <ref bean="imagesServiceImpl" />
>     </jaxrs:serviceBeans>
>   </jaxrs:server>
>
>   <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
>           <property name="imagesStore" ref="imagesStoreConnector"/>
>   </bean>
>
> </beans>
>
> jaxrs service implementation
> ---------------------------
> @Path("/images")
> @Produces("application/xml")
> public class ImagesServiceImpl {
>
>     private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
>     private ImagesStore imagesStore;
>
>     @POST
>     @Path("/image")
>     public ImageDTO createImage(ImageDTO imageDTO) {
>         logger.debug("ImagesServiceImpl.createImage");
>         try {
>             logger.debug("ImagesServiceImpl.createImage");
>             Image image = ImagesConverter.convertImageFromDTO(imageDTO);
>             image = imagesStore.createImage(image);
>             return ImagesConverter.convertImage(image);
>         } catch (ParseException e) {
>             throw new WebApplicationException(e);
>         }
>     }
>
>     @GET
>     @Path("/image/{imageId}")
>     public ImageDTO getImage(@PathParam("imageId") final String id) {
>         logger.debug("ImagesServiceImpl.getImage");
>         Image.Id imageId = new Image.Id(new Uberkey() {
>             {
>                 setUuid(new Uuid(id));
>             }
>         });
>         Image image = imagesStore.getImage(imageId);
>         return ImagesConverter.convertImage(image);
>     }
>
>     @GET
>     public ImagesDTO getAllImages() {
>         logger.debug("ImagesServiceImpl.getAllImages");
>         List<Image> images = imagesStore.getAllImages();
>         return ImagesConverter.convertImages(images);
>     }
>
>     public void setImagesStore(ImagesStore imagesStore) {
>         this.imagesStore = imagesStore;
>     }
>
> }
>
>
> web.xml
> --------
> <?xml version="1.0"?>
> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
>
>     <context-param>
>         <param-name>contextConfigLocation</param-name>
>         <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
>     </context-param>
>
>     <listener>
>         <listener-class>
>             org.springframework.web.context.ContextLoaderListener
>         </listener-class>
>     </listener>
>
>     <servlet>
>         <servlet-name>CXFServlet</servlet-name>
>         <servlet-class>
>             org.apache.cxf.transport.servlet.CXFServlet
>         </servlet-class>
>         <load-on-startup>1</load-on-startup>
>     </servlet>
>
>     <servlet-mapping>
>         <servlet-name>CXFServlet</servlet-name>
>         <url-pattern>/*</url-pattern>
>     </servlet-mapping>
>
> </web-app>
>
>
>
>
>
> > From: sergey.beryozkin@progress.com
> > To: users@cxf.apache.org
> > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > Date: Wed, 26 Nov 2008 11:30:29 +0000
> >
> > Hi
> >
> > Can you please post
> >
> > - sample jaxws client configuration
> > - sample jaxws server configuration if any
> > - sample jaxrs server configuration
> > - sample jaxws and jaxrs code you use
> >
> > It will make it easier to investigate the problem
> >
> > Cheers, Sergey
> >
> > ----- Original Message ----- 
> > From: "Piotr Skawinski" <p_...@hotmail.com>
> > To: "cxf users mailing list" <us...@cxf.apache.org>
> > Sent: Wednesday, November 26, 2008 11:15 AM
> > Subject: Problem of having jax-rs based services together with jax-ws based clients
> >
> >
> >
> > Hi,
> >
> > I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the client
> > is
> > tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> > using the cxf. The problem seem not to occur when services are
> > implemented using the restlet framework, or when jax-rs based services are
> > deployed without the jax-ws based client. Is there a conflict of
> > having the jax-rs services together with jax-ws clients, both
> > implemented using the cxf?
> >
> > Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
> >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
> >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
> >     at javax.xml.ws.Service.getPort(Service.java:92)
> >     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
> >     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
> >     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> >     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> >     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> >     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> >     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
> >     ... 83 more
> > Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
> >     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
> >     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
> >     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
> >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
> >     ... 92 more
> > Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
> >     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
> >     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
> >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
> >     ... 96 more
> >
> >
> > thx in advance, Piotr
> >
> >
> >
> >
> > _________________________________________________________________
> > Connect to the next generation of MSN Messenger
> > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> >
> >
>
> _________________________________________________________________
> Explore the seven wonders of the world
> http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
>
>

_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE 



RE: Problem of having jax-rs based services together with jax-ws based clients

Posted by Piotr Skawinski <p_...@hotmail.com>.
Yes, I have seperate configuration files. One for services and one for store. Configuration files are merged into one configuration file like:

<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <import resource="classpath:/arena.cs.images/images-service-implementation.context"/>
    <import resource="classpath:/arena.cs.images/images-store-connector.context"/>    

</beans>

which is loaded by the CXFServlet as described in the web.xml.

As I said it works fine when services are implemented using the restlet framework, but I would like to change to the JAX-RS implementation as CXF offers. 


> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Wed, 26 Nov 2008 12:05:17 +0000
> 
> So you have seperate configuration files, right ? In what order they're loaded or how do you access them ?
> I didn't know multiple config files were possible...
> 
> Cheers, Sergey
> 
> 
> 
> jaxws client configuration
> ------------------------------
> 
> <?xml version="1.0"?>
> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>        xsi:schemaLocation="
> http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
> 
>     <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">
>     </bean>
> </beans>
> 
> client implementation
> 
> --------------------
> 
> public class FedoraServiceConnector implements FedoraService {
> 
>     private FedoraAPIA fedoraAPIA;
>     private FedoraAPIM fedoraAPIM;
> 
>     public FedoraServiceConnector() {
>         fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
>         BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
>         apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
>         apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
> 
>         fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
>         BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
>         apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
>         apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
>     }
>     .
>     .
>     .
> }
> 
> FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven for 
> generating ws clients.
> 
> 
> sample jaxrs server configuration
> -------------------------------
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans"
>   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>   xmlns:jaxrs="http://cxf.apache.org/jaxrs"
>   xsi:schemaLocation="
> http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
> http://cxf.apache.org/jaxrs
> http://cxf.apache.org/schemas/jaxrs.xsd">
> 
>   <import resource="classpath:META-INF/cxf/cxf.xml" />
>   <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
>   <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
> 
>   <jaxrs:server id="imageService" address="/">
>     <jaxrs:serviceBeans>
>       <ref bean="imagesServiceImpl" />
>     </jaxrs:serviceBeans>
>   </jaxrs:server>
> 
>   <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
>           <property name="imagesStore" ref="imagesStoreConnector"/>
>   </bean>
> 
> </beans>
> 
> jaxrs service implementation
> ---------------------------
> @Path("/images")
> @Produces("application/xml")
> public class ImagesServiceImpl {
> 
>     private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
>     private ImagesStore imagesStore;
> 
>     @POST
>     @Path("/image")
>     public ImageDTO createImage(ImageDTO imageDTO) {
>         logger.debug("ImagesServiceImpl.createImage");
>         try {
>             logger.debug("ImagesServiceImpl.createImage");
>             Image image = ImagesConverter.convertImageFromDTO(imageDTO);
>             image = imagesStore.createImage(image);
>             return ImagesConverter.convertImage(image);
>         } catch (ParseException e) {
>             throw new WebApplicationException(e);
>         }
>     }
> 
>     @GET
>     @Path("/image/{imageId}")
>     public ImageDTO getImage(@PathParam("imageId") final String id) {
>         logger.debug("ImagesServiceImpl.getImage");
>         Image.Id imageId = new Image.Id(new Uberkey() {
>             {
>                 setUuid(new Uuid(id));
>             }
>         });
>         Image image = imagesStore.getImage(imageId);
>         return ImagesConverter.convertImage(image);
>     }
> 
>     @GET
>     public ImagesDTO getAllImages() {
>         logger.debug("ImagesServiceImpl.getAllImages");
>         List<Image> images = imagesStore.getAllImages();
>         return ImagesConverter.convertImages(images);
>     }
> 
>     public void setImagesStore(ImagesStore imagesStore) {
>         this.imagesStore = imagesStore;
>     }
> 
> }
> 
> 
> web.xml
> --------
> <?xml version="1.0"?>
> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
> 
>     <context-param>
>         <param-name>contextConfigLocation</param-name>
>         <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
>     </context-param>
> 
>     <listener>
>         <listener-class>
>             org.springframework.web.context.ContextLoaderListener
>         </listener-class>
>     </listener>
> 
>     <servlet>
>         <servlet-name>CXFServlet</servlet-name>
>         <servlet-class>
>             org.apache.cxf.transport.servlet.CXFServlet
>         </servlet-class>
>         <load-on-startup>1</load-on-startup>
>     </servlet>
> 
>     <servlet-mapping>
>         <servlet-name>CXFServlet</servlet-name>
>         <url-pattern>/*</url-pattern>
>     </servlet-mapping>
> 
> </web-app>
> 
> 
> 
> 
> 
> > From: sergey.beryozkin@progress.com
> > To: users@cxf.apache.org
> > Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> > Date: Wed, 26 Nov 2008 11:30:29 +0000
> >
> > Hi
> >
> > Can you please post
> >
> > - sample jaxws client configuration
> > - sample jaxws server configuration if any
> > - sample jaxrs server configuration
> > - sample jaxws and jaxrs code you use
> >
> > It will make it easier to investigate the problem
> >
> > Cheers, Sergey
> >
> > ----- Original Message ----- 
> > From: "Piotr Skawinski" <p_...@hotmail.com>
> > To: "cxf users mailing list" <us...@cxf.apache.org>
> > Sent: Wednesday, November 26, 2008 11:15 AM
> > Subject: Problem of having jax-rs based services together with jax-ws based clients
> >
> >
> >
> > Hi,
> >
> > I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the client 
> > is
> > tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> > using the cxf. The problem seem not to occur when services are
> > implemented using the restlet framework, or when jax-rs based services are
> > deployed without the jax-ws based client. Is there a conflict of
> > having the jax-rs services together with jax-ws clients, both
> > implemented using the cxf?
> >
> > Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
> >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
> >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
> >     at javax.xml.ws.Service.getPort(Service.java:92)
> >     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
> >     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
> >     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> >     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> >     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> >     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> >     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
> >     ... 83 more
> > Caused by: org.apache.cxf.service.factory.ServiceConstructionException
> >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
> >     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
> >     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
> >     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
> >     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
> >     ... 92 more
> > Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
> >     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
> >     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
> >     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
> >     ... 96 more
> >
> >
> > thx in advance, Piotr
> >
> >
> >
> >
> > _________________________________________________________________
> > Connect to the next generation of MSN Messenger
> > http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
> >
> >
> 
> _________________________________________________________________
> Explore the seven wonders of the world
> http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE 
> 
> 

_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE

Re: Problem of having jax-rs based services together with jax-ws based clients

Posted by Sergey Beryozkin <se...@progress.com>.
So you have seperate configuration files, right ? In what order they're loaded or how do you access them ?
I didn't know multiple config files were possible...

Cheers, Sergey



jaxws client configuration
------------------------------

<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

    <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">
    </bean>
</beans>

client implementation

--------------------

public class FedoraServiceConnector implements FedoraService {

    private FedoraAPIA fedoraAPIA;
    private FedoraAPIM fedoraAPIM;

    public FedoraServiceConnector() {
        fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
        BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
        apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
        apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");

        fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
        BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
        apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
        apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
    }
    .
    .
    .
}

FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven for 
generating ws clients.


sample jaxrs server configuration
-------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:jaxrs="http://cxf.apache.org/jaxrs"
  xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd">

  <import resource="classpath:META-INF/cxf/cxf.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
  <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

  <jaxrs:server id="imageService" address="/">
    <jaxrs:serviceBeans>
      <ref bean="imagesServiceImpl" />
    </jaxrs:serviceBeans>
  </jaxrs:server>

  <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
          <property name="imagesStore" ref="imagesStoreConnector"/>
  </bean>

</beans>

jaxrs service implementation
---------------------------
@Path("/images")
@Produces("application/xml")
public class ImagesServiceImpl {

    private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
    private ImagesStore imagesStore;

    @POST
    @Path("/image")
    public ImageDTO createImage(ImageDTO imageDTO) {
        logger.debug("ImagesServiceImpl.createImage");
        try {
            logger.debug("ImagesServiceImpl.createImage");
            Image image = ImagesConverter.convertImageFromDTO(imageDTO);
            image = imagesStore.createImage(image);
            return ImagesConverter.convertImage(image);
        } catch (ParseException e) {
            throw new WebApplicationException(e);
        }
    }

    @GET
    @Path("/image/{imageId}")
    public ImageDTO getImage(@PathParam("imageId") final String id) {
        logger.debug("ImagesServiceImpl.getImage");
        Image.Id imageId = new Image.Id(new Uberkey() {
            {
                setUuid(new Uuid(id));
            }
        });
        Image image = imagesStore.getImage(imageId);
        return ImagesConverter.convertImage(image);
    }

    @GET
    public ImagesDTO getAllImages() {
        logger.debug("ImagesServiceImpl.getAllImages");
        List<Image> images = imagesStore.getAllImages();
        return ImagesConverter.convertImages(images);
    }

    public void setImagesStore(ImagesStore imagesStore) {
        this.imagesStore = imagesStore;
    }

}


web.xml
--------
<?xml version="1.0"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
    </context-param>

    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

    <servlet>
        <servlet-name>CXFServlet</servlet-name>
        <servlet-class>
            org.apache.cxf.transport.servlet.CXFServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>CXFServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

</web-app>





> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Wed, 26 Nov 2008 11:30:29 +0000
>
> Hi
>
> Can you please post
>
> - sample jaxws client configuration
> - sample jaxws server configuration if any
> - sample jaxrs server configuration
> - sample jaxws and jaxrs code you use
>
> It will make it easier to investigate the problem
>
> Cheers, Sergey
>
> ----- Original Message ----- 
> From: "Piotr Skawinski" <p_...@hotmail.com>
> To: "cxf users mailing list" <us...@cxf.apache.org>
> Sent: Wednesday, November 26, 2008 11:15 AM
> Subject: Problem of having jax-rs based services together with jax-ws based clients
>
>
>
> Hi,
>
> I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the client 
> is
> tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> using the cxf. The problem seem not to occur when services are
> implemented using the restlet framework, or when jax-rs based services are
> deployed without the jax-ws based client. Is there a conflict of
> having the jax-rs services together with jax-ws clients, both
> implemented using the cxf?
>
> Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
>     at javax.xml.ws.Service.getPort(Service.java:92)
>     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
>     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
>     ... 83 more
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException
>     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
>     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
>     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
>     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
>     ... 92 more
> Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
>     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
>     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
>     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
>     ... 96 more
>
>
> thx in advance, Piotr
>
>
>
>
> _________________________________________________________________
> Connect to the next generation of MSN Messenger
> http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline
>
>

_________________________________________________________________
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE 



RE: Problem of having jax-rs based services together with jax-ws based clients

Posted by Piotr Skawinski <p_...@hotmail.com>.


jaxws client configuration
------------------------------

<?xml version="1.0"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">        

    <bean id="fedoraServiceConnector" class="com.axiell.arena.fedora.service.FedoraServiceConnector">                       
    </bean>    
</beans>

client implementation

--------------------

public class FedoraServiceConnector implements FedoraService {
    
    private FedoraAPIA fedoraAPIA;
    private FedoraAPIM fedoraAPIM;
    
    public FedoraServiceConnector() {
        fedoraAPIA = new FedoraAPIAService().getFedoraAPIAServiceHTTPPort();
        BindingProvider apiabindingProvider = (BindingProvider) fedoraAPIA;
        apiabindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
        apiabindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
        
        fedoraAPIM = new FedoraAPIMService().getFedoraAPIMServiceHTTPPort();
        BindingProvider apimbindingProvider = (BindingProvider) fedoraAPIM;
        apimbindingProvider.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "fedoraAdmin");
        apimbindingProvider.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "fedoraAdmin");
    }
    .
    .
    .
}

FedoraAPIAService, FedoraAPIA, FedoraAPIMService and FedoraAPIM are generated client classes using the cxf plugin for maven for generating ws clients.


sample jaxrs server configuration
-------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:jaxrs="http://cxf.apache.org/jaxrs"
  xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd">

  <import resource="classpath:META-INF/cxf/cxf.xml" />
  <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml" />
  <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

  <jaxrs:server id="imageService" address="/">
    <jaxrs:serviceBeans>
      <ref bean="imagesServiceImpl" />
    </jaxrs:serviceBeans>
  </jaxrs:server>

  <bean id="imagesServiceImpl" class="com.axiell.arena.services.images.service.implementation.ImagesServiceImpl">
          <property name="imagesStore" ref="imagesStoreConnector"/>        
  </bean>

</beans>

jaxrs service implementation
---------------------------
@Path("/images")
@Produces("application/xml")
public class ImagesServiceImpl {
    
    private Logger logger = Logger.getLogger(ImagesServiceImpl.class);
    private ImagesStore imagesStore;
    
    @POST
    @Path("/image")
    public ImageDTO createImage(ImageDTO imageDTO) {
        logger.debug("ImagesServiceImpl.createImage");        
        try {
            logger.debug("ImagesServiceImpl.createImage");
            Image image = ImagesConverter.convertImageFromDTO(imageDTO);                            
            image = imagesStore.createImage(image);
            return ImagesConverter.convertImage(image);            
        } catch (ParseException e) {
            throw new WebApplicationException(e);
        }
    }
    
    @GET
    @Path("/image/{imageId}")
    public ImageDTO getImage(@PathParam("imageId") final String id) {
        logger.debug("ImagesServiceImpl.getImage");
        Image.Id imageId = new Image.Id(new Uberkey() {
            {
                setUuid(new Uuid(id));
            }
        });
        Image image = imagesStore.getImage(imageId);
        return ImagesConverter.convertImage(image);
    }
    
    @GET    
    public ImagesDTO getAllImages() {    
        logger.debug("ImagesServiceImpl.getAllImages");
        List<Image> images = imagesStore.getAllImages();
        return ImagesConverter.convertImages(images);
    }
    
    public void setImagesStore(ImagesStore imagesStore) {
        this.imagesStore = imagesStore;
    }
    
}


web.xml
--------
<?xml version="1.0"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
         
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:/arena.cs.images/arena.cs.images.context</param-value>
    </context-param>

    <listener>
        <listener-class>
            org.springframework.web.context.ContextLoaderListener
        </listener-class>
    </listener>

    <servlet>
        <servlet-name>CXFServlet</servlet-name>        
        <servlet-class>
            org.apache.cxf.transport.servlet.CXFServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>    

    <servlet-mapping>
        <servlet-name>CXFServlet</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>    
    
</web-app>





> From: sergey.beryozkin@progress.com
> To: users@cxf.apache.org
> Subject: Re: Problem of having jax-rs based services together with jax-ws based clients
> Date: Wed, 26 Nov 2008 11:30:29 +0000
> 
> Hi
> 
> Can you please post
> 
> - sample jaxws client configuration
> - sample jaxws server configuration if any
> - sample jaxrs server configuration
> - sample jaxws and jaxrs code you use
> 
> It will make it easier to investigate the problem
> 
> Cheers, Sergey
> 
> ----- Original Message ----- 
> From: "Piotr Skawinski" <p_...@hotmail.com>
> To: "cxf users mailing list" <us...@cxf.apache.org>
> Sent: Wednesday, November 26, 2008 11:15 AM
> Subject: Problem of having jax-rs based services together with jax-ws based clients
> 
> 
> 
> Hi,
> 
> I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the client is 
> tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
> using the cxf. The problem seem not to occur when services are
> implemented using the restlet framework, or when jax-rs based services are
> deployed without the jax-ws based client. Is there a conflict of
> having the jax-rs services together with jax-ws clients, both
> implemented using the cxf?
> 
> Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
>     at javax.xml.ws.Service.getPort(Service.java:92)
>     at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
>     at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>     at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>     at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
>     ... 83 more
> Caused by: org.apache.cxf.service.factory.ServiceConstructionException
>     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
>     at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
>     at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
>     at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
>     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
>     ... 92 more
> Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
>     at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
>     at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
>     at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
>     ... 96 more
> 
> 
> thx in advance, Piotr
> 
> 
> 
> 
> _________________________________________________________________
> Connect to the next generation of MSN Messenger
> http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline 
> 
> 

_________________________________________________________________
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE

Re: Problem of having jax-rs based services together with jax-ws based clients

Posted by Sergey Beryozkin <se...@progress.com>.
Hi

Can you please post

- sample jaxws client configuration
- sample jaxws server configuration if any
- sample jaxrs server configuration
- sample jaxws and jaxrs code you use

It will make it easier to investigate the problem

Cheers, Sergey

----- Original Message ----- 
From: "Piotr Skawinski" <p_...@hotmail.com>
To: "cxf users mailing list" <us...@cxf.apache.org>
Sent: Wednesday, November 26, 2008 11:15 AM
Subject: Problem of having jax-rs based services together with jax-ws based clients



Hi,

I'm facing a problem of deploying jax-rs based services together with jax-ws based client. I get below exception when the client is 
tried to be initilized. Both, the jax-rs based services and jax-ws based client are implemented
using the cxf. The problem seem not to occur when services are
implemented using the restlet framework, or when jax-rs based services are
deployed without the jax-ws based client. Is there a conflict of
having the jax-rs services together with jax-ws clients, both
implemented using the cxf?

Caused by: javax.xml.ws.WebServiceException: org.apache.cxf.service.factory.ServiceConstructionException
    at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:314)
    at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:299)
    at javax.xml.ws.Service.getPort(Service.java:92)
    at info.fedora.definitions._1._0.api.FedoraAPIAService.getFedoraAPIAServiceHTTPPort(FedoraAPIAService.java:62)
    at com.axiell.arena.fedora.service.FedoraServiceConnector.<init>(FedoraServiceConnector.java:33)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
    ... 83 more
Caused by: org.apache.cxf.service.factory.ServiceConstructionException
    at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:59)
    at org.apache.cxf.frontend.ClientProxyFactoryBean.create(ClientProxyFactoryBean.java:102)
    at org.apache.cxf.jaxws.JaxWsProxyFactoryBean.create(JaxWsProxyFactoryBean.java:115)
    at org.apache.cxf.jaxws.ServiceImpl.createPort(ServiceImpl.java:434)
    at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:312)
    ... 92 more
Caused by: org.apache.cxf.BusException: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered.
    at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:91)
    at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:114)
    at org.apache.cxf.frontend.ClientFactoryBean.create(ClientFactoryBean.java:52)
    ... 96 more


thx in advance, Piotr




_________________________________________________________________
Connect to the next generation of MSN Messenger
http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=wlmailtagline