Thanks, I'll have a look...

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

Reply via email to