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