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: [EMAIL PROTECTED] > To: [email protected] > 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: [EMAIL PROTECTED] > > To: [email protected] > > 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" <[EMAIL PROTECTED]> > > To: "cxf users mailing list" <[email protected]> > > 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
