Hi,

I am trying to write restful web service using cxf (2.5.2) and following
this 
http://www.ibm.com/developerworks/opensource/library/ws-pojo-springcxf2/index.html
article .  I get error related to "Could not resolve a binding for
http://apache.org/cxf/binding/http";.  Please guide.

I have following dependencies loaded:
<dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-ws-policy</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-frontend-jaxws</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-transports-http</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.cxf</groupId>
      <artifactId>cxf-rt-frontend-jaxrs</artifactId>
      <version>${cxf.version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.jra</groupId>
      <artifactId>jra</artifactId>
      <version>${jra.version}</version>
    </dependency>

My bean config:

<?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:jaxws="http://cxf.apache.org/jaxws";
        xmlns:soap="http://cxf.apache.org/bindings/soap";
        xmlns:jms="http://cxf.apache.org/transports/jms";
        xmlns:ct="http://cxf.apache.org/configuration/types";
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
        http://cxf.apache.org/bindings/soap 
        http://cxf.apache.org/schemas/configuration/soap.xsd 
        http://cxf.apache.org/jaxws 
        http://cxf.apache.org/schemas/jaxws.xsd
        http://cxf.apache.org/transports/jms
    http://cxf.apache.org/schemas/configuration/jms.xsd";
        >
        <import resource="classpath:META-INF/cxf/cxf.xml" />
    <import resource="classpath:META-INF/cxf/cxf-extension-http-binding.xml"
/>
    <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-policy.xml"/>
         
        
        <jaxws:endpoint xmlns:tns="http://webservice.mkyong.com/";
                id="productwebservice" implementor="#myProductWebService"
                wsdlLocation="wsdl/ProductWebService.wsdl"
endpointName="tns:ProductWebServicePort"
                serviceName="tns:ProductWebServiceService"
address="/ProductWebServicePort">
                <jaxws:features>
                        <bean class="org.apache.cxf.feature.LoggingFeature" />
                </jaxws:features>
        </jaxws:endpoint>
        <jaxws:endpoint xmlns:tns="http://webservice.mkyong.com/";
                id="productwebservice_javafirst" 
                implementor="#myProductWebServiceJavaFirst"
                address="/IProductWebServicePort">
                <jaxws:features>
                        <bean class="org.apache.cxf.feature.LoggingFeature" />
                </jaxws:features>
        </jaxws:endpoint>
        <import resource="classpath:spring/config/BeanLocations.xml" />
        <bean id="myProductWebService"
class="com.mkyong.webservice.ProductWebService">
                <property name="productBo" ref="productBoProxy"></property>
        </bean>
        <bean id="myProductWebServiceJavaFirst"
class="com.mkyong.webservice.ProductWebServiceImpl">
                <property name="productBo" ref="productBoProxy"></property>
        </bean>
        
        
         <bean id="myRestService" class="com.mkyong.webservice.ProductWebRest">
                <property name="productBo" ref="productBoProxy"></property>
        </bean>
         <jaxws:endpoint 
        id="myProductRest" 
        implementor="#myRestService" 
        address="/rest"
        bindingUri="http://apache.org/cxf/binding/http";> 
        
    <jaxws:serviceFactory > 
      <bean class="org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean">
        <property name="wrapped" value="false" />
      </bean>
    </jaxws:serviceFactory > 
 </jaxws:endpoint >
</beans>



I get below error when loading the war in tomcat.

SEVERE: StandardWrapper.Throwable
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'myProductRest': Invocation of init method failed; nested
exception is javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException:* Could not
resolve a binding for http://apache.org/cxf/binding/http*
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1338)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
        at
org.apache.cxf.transport.servlet.CXFServlet.createSpringContext(CXFServlet.java:119)
        at 
org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:57)
        at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:64)
        at
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
        at 
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
        at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)
Caused by: javax.xml.ws.WebServiceException:
org.apache.cxf.service.factory.ServiceConstructionException: Could not
resolve a binding for http://apache.org/cxf/binding/http
        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:353)
        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:242)
        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:516)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
        ... 28 more
Caused by: org.apache.cxf.service.factory.ServiceConstructionException:
Could not resolve a binding for http://apache.org/cxf/binding/http
        at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createBindingInfo(AbstractWSDLBasedEndpointFactory.java:350)
        at
org.apache.cxf.jaxws.JaxWsServerFactoryBean.createBindingInfo(JaxWsServerFactoryBean.java:181)
        at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpointInfo(AbstractWSDLBasedEndpointFactory.java:256)
        at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:147)
        at
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159)
        at
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:207)
        at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:438)
        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:325)
        ... 37 more
Caused by: org.apache.cxf.BusException: No binding factory for namespace
http://apache.org/cxf/binding/http registered.
        at
org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:120)
        at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createBindingInfo(AbstractWSDLBasedEndpointFactory.java:338)
        ... 44 more

Apr 25, 2012 5:03:18 PM org.apache.catalina.core.StandardContext
loadOnStartup
SEVERE: Servlet /mkyong_webapp threw load() exception
org.apache.cxf.BusException: No binding factory for namespace
http://apache.org/cxf/binding/http registered.
        at
org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:120)
        at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createBindingInfo(AbstractWSDLBasedEndpointFactory.java:338)
        at
org.apache.cxf.jaxws.JaxWsServerFactoryBean.createBindingInfo(JaxWsServerFactoryBean.java:181)
        at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpointInfo(AbstractWSDLBasedEndpointFactory.java:256)
        at
org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java:147)
        at
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159)
        at
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:207)
        at org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:438)
        at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:325)
        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:242)
        at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:516)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:601)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1414)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1375)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1335)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
        at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
        at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
        at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
        at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
        at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:728)
        at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:380)
        at
org.apache.cxf.transport.servlet.CXFServlet.createSpringContext(CXFServlet.java:119)
        at 
org.apache.cxf.transport.servlet.CXFServlet.loadBus(CXFServlet.java:57)
        at
org.apache.cxf.transport.servlet.CXFNonSpringServlet.init(CXFNonSpringServlet.java:64)
        at
org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266)
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185)
        at 
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5015)
        at
org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5302)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1566)
        at
org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1556)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)




Regards,

Miten.

--
View this message in context: 
http://cxf.547215.n5.nabble.com/CXF-Rest-Binding-error-tp5664602p5664602.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to