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

Reply via email to