Hi
 
I am trying to implement JAX-WS & JAX-RS together in a single
interface/Impl classes. But, somehow, I am getting this error. Any help
is appreciated
Here is my configuration.
 
cxf-bean.xml file
----------------------
<bean id="bookStoreJaxrsJaxwsImpl"
class="com.xxxxx.api.payment.BookStoreJaxrsJaxwsImpl" />
 
<jaxws:endpoint 
id="BookStoreJaxrsJaxws" 
implementorClass="com.xxxxx.api.payment.BookStoreJaxrsJaxwsImpl"
implementor="#bookStoreJaxrsJaxwsImpl" 
address="/BookStoreJaxrsJaxws"/>
 
<jaxrs:server id="BookStoreJaxrsJaxwsRest"
address="/bookStoreJaxrsJaxws_rest">
<jaxrs:serviceBeans> 
<ref bean="bookStoreJaxrsJaxwsImpl" />
</jaxrs:serviceBeans>
</jaxrs:server>
 

Interface:
-----------
@WebService
@Path("/bookstore")
@Consumes("application/xml")
@Produces("application/xml")
public interface BookStoreJaxrsJaxws {
 

@WebMethod
@GET
@Path("/{id}")
@Consumes("*/*")
Book getBook(@PathParam("id")
@WebParam(name = "id")
Long id) throws xxxxxFault;
 

@WebMethod
@PUT
@Path("/books")
Book addBook(@WebParam(name = "book")
Book book) throws xxxxxFault;;
}
 
 
 
Impl class:
---------
@WebService(endpointInterface =
"com.xxxxx.api.payment.BookStoreJaxrsJaxws", serviceName =
"BookStoreJaxrsJaxws")
public class BookStoreJaxrsJaxwsImpl implements BookStoreJaxrsJaxws{
 
 private static Logger log =
Logger.getLogger(BookStoreJaxrsJaxwsImpl.class);
 
 public Book addBook(Book book) throws xxxxxFault {
  log.info("Inside addBook");
  log.info("name=" + book.getName() + " id=" + book.getId() );
  Book b = new Book("ABC", 1L);
  return b;
  
  
 }
 
 public Book getBook(Long id) throws xxxxxFault {
  log.info("Inside getBook");
  Book b = new Book("ABC", id);
  return b;
 }
 
}
 
15:40:54,611 ERROR [STDERR] Nov 17, 2009 3:40:54 PM
org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildSer
viceFromClass
INFO: Creating Service
{http://payment.api.xxxxx.com/}BookStoreJaxrsJaxws from class
com.xxxxx.api.payment.BookStore
JaxrsJaxws
15:40:55,408 ERROR [STDERR] Nov 17, 2009 3:40:55 PM
org.apache.cxf.endpoint.ServerImpl initDestination
INFO: Setting the server's publish address to be /BookStoreJaxrsJaxws
15:40:55,533 ERROR [STDERR] org.apache.cxf.BusException: No binding
factory for namespace http://apache.org/cxf/binding/
jaxrs registered.
15:40:55,533 ERROR [STDERR]     at
org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(Bindi
ngFactoryMana
gerImpl.java:91)
15:40:55,548 ERROR [STDERR]     at
org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.createBindingInfo(Abstract
JAXRSFactoryB
ean.java:136)
15:40:55,548 ERROR [STDERR]     at
org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.createEndpointInfo(Abstrac
tJAXRSFactory
Bean.java:116)
15:40:55,548 ERROR [STDERR]     at
org.apache.cxf.jaxrs.AbstractJAXRSFactoryBean.createEndpoint(AbstractJAX
RSFactoryBean
.java:162)
15:40:55,548 ERROR [STDERR]     at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBea
n.java:83)
 
.....
.....
        at
org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482)
        at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362)
        at org.jboss.Main.boot(Main.java:200)
        at org.jboss.Main$1.run(Main.java:508)
        at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.cxf.service.factory.ServiceConstructionException
        at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBea
n.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.invokeCustomInitMethod(AbstractA
utowireCapableBeanFactory.java:1413)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.invokeInitMethods(AbstractAutowi
reCapableBeanFactory.java:1374)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.initializeBean(AbstractAutowireC
apableBeanFactory.java:1334)
        ... 151 more
Caused by: java.lang.NullPointerException
        at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:122)
        at
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBea
n.java:103)
        ... 158 more
15:40:55,845 ERROR [[/paymentapi]] Exception sending context initialized
event to listener instance of class org.springf
ramework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating
bean with name 'BookStoreJaxrsJaxwsRest': Invoca
tion of init method failed; nested exception is
org.apache.cxf.service.factory.ServiceConstructionException
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.initializeBean(AbstractAutowireC
apableBeanFactory.java:1337)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.doCreateBean(AbstractAutowireCap
ableBeanFactory.java:473)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory$1.run(AbstractAutowireCapableBea
nFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFac
tory.createBean(AbstractAutowireCapab
leBeanFactory.java:380)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObjec
t(AbstractBeanFactory.java:264)
 
Regards
 
Karuna Pydipati
eBay - Platform & Services
Phone: (415)222-8752
Email: [email protected]
 
 
 
 

Reply via email to