You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Nishant Ranjan <ni...@yahoo.com> on 2011/03/01 02:22:10 UTC

No DestinationFactory was found ...

Hi,

I am trying to start a RESTful service using following:

// I call start() from main
private static void start(){
         JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
         sf.setResourceClasses(AuthService.class);
         sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
         sf.setAddress("http://localhost:9080/");
         sf.create();
    }

This is the AuthService class
===========================

@Path("/auth/")
@Produces("application/json")
public class AuthService {
    
    @GET
    @Path("/{app}")
    public String getAuthToken(@PathParam("app") String application,
                                @QueryParam("") AuthBean bean)
    {
        String token = null;
        xxxxx
        xxxxxxxx
        return token;
    }
}

class AuthBean{
    String facebookToken;
    public void setCode(String code){
        facebookToken=code;
    }
    public String getCode() {
        return facebookToken;
    }


 
When I do that, I am getting this error. 

Mar 1, 2011 12:45:47 AM 
org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.apache.cxf.bus.spring.BusApplicationContext@982589: startup 
date [Tue Mar 01 00:45:47 GMT 2011]; root of context hierarchy
Mar 1, 2011 12:45:47 AM 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader 
loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource 
[META-INF/cxf/cxf.xml]
Mar 1, 2011 12:45:47 AM 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader 
loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource 
[META-INF/cxf/cxf-extension-xml.xml]
Mar 1, 2011 12:45:48 AM 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader 
loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource 
[META-INF/cxf/cxf-extension-jaxrs-binding.xml]
Mar 1, 2011 12:45:48 AM 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader 
loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource 
[META-INF/cxf/cxf-extension-http.xml]
Mar 1, 2011 12:45:48 AM 
org.springframework.beans.factory.support.DefaultListableBeanFactory 
preInstantiateSingletons
INFO: Pre-instantiating singletons in 
org.springframework.beans.factory.support.DefaultListableBeanFactory@1242b11: 
defining beans 
[cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.service.factory.FactoryBeanListenerManage
r,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apache.cxf.binding.xml.XMLBindingFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory];
 root of factory hierarchy
Exception in thread "main" 
org.apache.cxf.service.factory.ServiceConstructionException
    at 
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:128)

    at com.happenings.ws.Server.start(Server.java:32)
    at com.happenings.ws.Server.main(Server.java:40)
Caused by: org.apache.cxf.BusException: No DestinationFactory was found for the 
namespace http://schemas.xmlsoap.org/wsdl/soap/http.
    at 
org.apache.cxf.transport.DestinationFactoryManagerImpl.getDestinationFactory(DestinationFactoryManagerImpl.java:127)

    at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:87)
    at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:71)
    at 
org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:95)

    ... 2 more

I am clueless. Please help.

Regards,
Nishant Ranjan



Re: No DestinationFactory was found ...

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi

I think this is a bug in the AbstractJAXRSFactoryBean, but I'd need to
> confirm
> with Sergey.  At line 141, I see:
>
> if (transportId == null) {
>            transportId = "http://schemas.xmlsoap.org/wsdl/soap/http";
>        }
>
> which cannot be right.   That should likely be  the http transportId of:
> http://cxf.apache.org/transports/http
>
> Certainly shouldn't be the soap one.
>
>
I'll fix it - I guess it's a copy & paste code that has stayed there for too
long...


> You can likely work around it by calling setTransportID on the factory with
> that id.
>
> THAT said, you ARE missing the cxf-rt-transports-http-jetty.jar that would
> be
> required for a standalone server to run.
>
> Yes, this dependency will fix it, and the above branch won't be reached
because the Jetty transport provides a destination factory for the http
transport URI...

I'll remove that soap URI anyway as it is confusing....

thanks, Sergey


> Dan
>
>
>
> >
> > Freeman
> >
> > On 2011-3-1, at 上午9:22, Nishant Ranjan wrote:
> > > Hi,
> > >
> > > I am trying to start a RESTful service using following:
> > >
> > > // I call start() from main
> > > private static void start(){
> > >
> > >         JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
> > >         sf.setResourceClasses(AuthService.class);
> > >         sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
> > >         sf.setAddress("http://localhost:9080/");
> > >         sf.create();
> > >
> > >    }
> > >
> > > This is the AuthService class
> > > ===========================
> > >
> > > @Path("/auth/")
> > > @Produces("application/json")
> > > public class AuthService {
> > >
> > >    @GET
> > >    @Path("/{app}")
> > >    public String getAuthToken(@PathParam("app") String application,
> > >
> > >                                @QueryParam("") AuthBean bean)
> > >
> > >    {
> > >
> > >        String token = null;
> > >        xxxxx
> > >        xxxxxxxx
> > >        return token;
> > >
> > >    }
> > >
> > > }
> > >
> > > class AuthBean{
> > >
> > >    String facebookToken;
> > >    public void setCode(String code){
> > >
> > >        facebookToken=code;
> > >
> > >    }
> > >    public String getCode() {
> > >
> > >        return facebookToken;
> > >
> > >    }
> > >
> > > When I do that, I am getting this error.
> > >
> > > Mar 1, 2011 12:45:47 AM
> > > org.springframework.context.support.AbstractApplicationContext
> > > prepareRefresh
> > > INFO: Refreshing
> > > org.apache.cxf.bus.spring.BusApplicationContext@982589: startup
> > > date [Tue Mar 01 00:45:47 GMT 2011]; root of context hierarchy
> > > Mar 1, 2011 12:45:47 AM
> > > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > > loadBeanDefinitions
> > > INFO: Loading XML bean definitions from class path resource
> > > [META-INF/cxf/cxf.xml]
> > > Mar 1, 2011 12:45:47 AM
> > > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > > loadBeanDefinitions
> > > INFO: Loading XML bean definitions from class path resource
> > > [META-INF/cxf/cxf-extension-xml.xml]
> > > Mar 1, 2011 12:45:48 AM
> > > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > > loadBeanDefinitions
> > > INFO: Loading XML bean definitions from class path resource
> > > [META-INF/cxf/cxf-extension-jaxrs-binding.xml]
> > > Mar 1, 2011 12:45:48 AM
> > > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > > loadBeanDefinitions
> > > INFO: Loading XML bean definitions from class path resource
> > > [META-INF/cxf/cxf-extension-http.xml]
> > > Mar 1, 2011 12:45:48 AM
> > > org.springframework.beans.factory.support.DefaultListableBeanFactory
> > > preInstantiateSingletons
> > > INFO: Pre-instantiating singletons in
> > > org
> > > .springframework
> > > .beans.factory.support.DefaultListableBeanFactory@1242b11:
> > > defining beans
> > >
> [cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.
> > >
> spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250
> > >
> BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org
> > >
> .apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configu
> > >
> rer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport
> > >
> .DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManag
> > >
> er,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.
> > >
> apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLife
> > >
> CycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoi
> > >
> nt.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,
> > >
> org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoi
> > >
> nt.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apac
> > >
> he.cxf.catalog.OASISCatalogManager,org.apache.cxf.service.factory.Factory
> > > BeanListenerManage
> > >
> r,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apache.cxf
> > >
> .binding.xml.XMLBindingFactory,org.apache.cxf.transport.http.policy.HTTPC
> > >
> lientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAsse
> > >
> rtionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorPr
> > > ovider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory];
> > > root of factory hierarchy
> > > Exception in thread "main"
> > > org.apache.cxf.service.factory.ServiceConstructionException
> > >
> > >    at
> > >
> > > org
> > > .apache
> > > .cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:
> > > 128)
> > >
> > >    at com.happenings.ws.Server.start(Server.java:32)
> > >    at com.happenings.ws.Server.main(Server.java:40)
> > >
> > > Caused by: org.apache.cxf.BusException: No DestinationFactory was
> > > found for the
> > > namespace http://schemas.xmlsoap.org/wsdl/soap/http.
> > >
> > >    at
> > >
> > > org
> > > .apache
> > > .cxf
> > > .transport
> > > .DestinationFactoryManagerImpl
> > > .getDestinationFactory(DestinationFactoryManagerImpl.java:127)
> > >
> > >    at
> > >
> > > org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:87)
> > >
> > >    at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:71)
> > >    at
> > >
> > > org
> > > .apache
> > > .cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:
> > > 95)
> > >
> > >    ... 2 more
> > >
> > > I am clueless. Please help.
> > >
> > > Regards,
> > > Nishant Ranjan
>
> --
> Daniel Kulp
> dkulp@apache.org
> http://dankulp.com/blog
> Talend - http://www.talend.com
>



-- 
Sergey Beryozkin

Application Integration Division of Talend <http://www.talend.com>
http://sberyozkin.blogspot.com

Re: No DestinationFactory was found ...

Posted by Daniel Kulp <dk...@apache.org>.
On Monday 28 February 2011 9:40:11 PM Freeman Fang wrote:
> Hi,
> 
> How do you deploy your endpoint?
> Seems you miss cxf-rt-transports-http.jar in your classpath.

Actually, it's in the classpath:

> > ovider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory];

as that would only be provided from that jar.   

I think this is a bug in the AbstractJAXRSFactoryBean, but I'd need to confirm 
with Sergey.  At line 141, I see:

if (transportId == null) {
            transportId = "http://schemas.xmlsoap.org/wsdl/soap/http";
        }

which cannot be right.   That should likely be  the http transportId of:
http://cxf.apache.org/transports/http

Certainly shouldn't be the soap one.

You can likely work around it by calling setTransportID on the factory with 
that id. 

THAT said, you ARE missing the cxf-rt-transports-http-jetty.jar that would be 
required for a standalone server to run.

Dan



> 
> Freeman
> 
> On 2011-3-1, at 上午9:22, Nishant Ranjan wrote:
> > Hi,
> > 
> > I am trying to start a RESTful service using following:
> > 
> > // I call start() from main
> > private static void start(){
> > 
> >         JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
> >         sf.setResourceClasses(AuthService.class);
> >         sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
> >         sf.setAddress("http://localhost:9080/");
> >         sf.create();
> >    
> >    }
> > 
> > This is the AuthService class
> > ===========================
> > 
> > @Path("/auth/")
> > @Produces("application/json")
> > public class AuthService {
> > 
> >    @GET
> >    @Path("/{app}")
> >    public String getAuthToken(@PathParam("app") String application,
> >    
> >                                @QueryParam("") AuthBean bean)
> >    
> >    {
> >    
> >        String token = null;
> >        xxxxx
> >        xxxxxxxx
> >        return token;
> >    
> >    }
> > 
> > }
> > 
> > class AuthBean{
> > 
> >    String facebookToken;
> >    public void setCode(String code){
> >    
> >        facebookToken=code;
> >    
> >    }
> >    public String getCode() {
> >    
> >        return facebookToken;
> >    
> >    }
> > 
> > When I do that, I am getting this error.
> > 
> > Mar 1, 2011 12:45:47 AM
> > org.springframework.context.support.AbstractApplicationContext
> > prepareRefresh
> > INFO: Refreshing
> > org.apache.cxf.bus.spring.BusApplicationContext@982589: startup
> > date [Tue Mar 01 00:45:47 GMT 2011]; root of context hierarchy
> > Mar 1, 2011 12:45:47 AM
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > loadBeanDefinitions
> > INFO: Loading XML bean definitions from class path resource
> > [META-INF/cxf/cxf.xml]
> > Mar 1, 2011 12:45:47 AM
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > loadBeanDefinitions
> > INFO: Loading XML bean definitions from class path resource
> > [META-INF/cxf/cxf-extension-xml.xml]
> > Mar 1, 2011 12:45:48 AM
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > loadBeanDefinitions
> > INFO: Loading XML bean definitions from class path resource
> > [META-INF/cxf/cxf-extension-jaxrs-binding.xml]
> > Mar 1, 2011 12:45:48 AM
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > loadBeanDefinitions
> > INFO: Loading XML bean definitions from class path resource
> > [META-INF/cxf/cxf-extension-http.xml]
> > Mar 1, 2011 12:45:48 AM
> > org.springframework.beans.factory.support.DefaultListableBeanFactory
> > preInstantiateSingletons
> > INFO: Pre-instantiating singletons in
> > org
> > .springframework
> > .beans.factory.support.DefaultListableBeanFactory@1242b11:
> > defining beans
> > [cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.
> > spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250
> > BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org
> > .apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configu
> > rer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport
> > .DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManag
> > er,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.
> > apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLife
> > CycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoi
> > nt.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,
> > org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoi
> > nt.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apac
> > he.cxf.catalog.OASISCatalogManager,org.apache.cxf.service.factory.Factory
> > BeanListenerManage
> > r,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apache.cxf
> > .binding.xml.XMLBindingFactory,org.apache.cxf.transport.http.policy.HTTPC
> > lientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAsse
> > rtionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorPr
> > ovider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory];
> > root of factory hierarchy
> > Exception in thread "main"
> > org.apache.cxf.service.factory.ServiceConstructionException
> > 
> >    at
> > 
> > org
> > .apache
> > .cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:
> > 128)
> > 
> >    at com.happenings.ws.Server.start(Server.java:32)
> >    at com.happenings.ws.Server.main(Server.java:40)
> > 
> > Caused by: org.apache.cxf.BusException: No DestinationFactory was
> > found for the
> > namespace http://schemas.xmlsoap.org/wsdl/soap/http.
> > 
> >    at
> > 
> > org
> > .apache
> > .cxf
> > .transport
> > .DestinationFactoryManagerImpl
> > .getDestinationFactory(DestinationFactoryManagerImpl.java:127)
> > 
> >    at
> > 
> > org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:87)
> > 
> >    at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:71)
> >    at
> > 
> > org
> > .apache
> > .cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:
> > 95)
> > 
> >    ... 2 more
> > 
> > I am clueless. Please help.
> > 
> > Regards,
> > Nishant Ranjan

-- 
Daniel Kulp
dkulp@apache.org
http://dankulp.com/blog
Talend - http://www.talend.com

Re: No DestinationFactory was found ...

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi

Please add the cxf-rt-transports-http-jetty dependency, as suggested by Dan
in the previous post.
That will fix it

Cheers, Sergey

On Tue, Mar 1, 2011 at 9:58 AM, Nishant Ranjan <
nishant_kaunve_ranjan@yahoo.com> wrote:

> Hi Freeman,
>
> My build classpath has cxf-rt-transports-http-2.3.0.jar in it.
> I am using a maven profile to run the start method:
>                  <plugin>
>                      <groupId>org.codehaus.mojo</groupId>
>                      <artifactId>exec-maven-plugin</artifactId>
>
> <configuration><mainClass>com.happenings.ws.Server</mainClass>
>                        <classpathScope>test</classpathScope>
>                    </configuration>
>                </plugin>
>
> Once again this is how my start() method looks:
> private static void start(){
>        JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
>         sf.setResourceClasses(AuthService.class);
>         sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
>         sf.setAddress("http://localhost:9080/");
>         sf.create();
>    }
>
>
>  Regards,
> Nishant Ranjan
>
>
>
>
> ________________________________
> From: Freeman Fang <fr...@gmail.com>
> To: users@cxf.apache.org
> Sent: Tuesday, March 1, 2011 2:40:11
> Subject: Re: No DestinationFactory was found ...
>
> Hi,
>
> How do you deploy your endpoint?
> Seems you miss cxf-rt-transports-http.jar in your classpath.
>
> Freeman
> On 2011-3-1, at 上午9:22, Nishant Ranjan wrote:
>
> > Hi,
> >
> > I am trying to start a RESTful service using following:
> >
> > // I call start() from main
> > private static void start(){
> >         JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
> >         sf.setResourceClasses(AuthService.class);
> >         sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
> >         sf.setAddress("http://localhost:9080/");
> >         sf.create();
> >    }
> >
> > This is the AuthService class
> > ===========================
> >
> > @Path("/auth/")
> > @Produces("application/json")
> > public class AuthService {
> >
> >    @GET
> >    @Path("/{app}")
> >    public String getAuthToken(@PathParam("app") String application,
> >                                @QueryParam("") AuthBean bean)
> >    {
> >        String token = null;
> >        xxxxx
> >        xxxxxxxx
> >        return token;
> >    }
> > }
> >
> > class AuthBean{
> >    String facebookToken;
> >    public void setCode(String code){
> >        facebookToken=code;
> >    }
> >    public String getCode() {
> >        return facebookToken;
> >    }
> >
> >
> >
> > When I do that, I am getting this error.
> >
> > Mar 1, 2011 12:45:47 AM
> > org.springframework.context.support.AbstractApplicationContext
> prepareRefresh
> > INFO: Refreshing org.apache.cxf.bus.spring.BusApplicationContext@982589:
> >startup
> > date [Tue Mar 01 00:45:47 GMT 2011]; root of context hierarchy
> > Mar 1, 2011 12:45:47 AM
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > loadBeanDefinitions
> > INFO: Loading XML bean definitions from class path resource
> > [META-INF/cxf/cxf.xml]
> > Mar 1, 2011 12:45:47 AM
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > loadBeanDefinitions
> > INFO: Loading XML bean definitions from class path resource
> > [META-INF/cxf/cxf-extension-xml.xml]
> > Mar 1, 2011 12:45:48 AM
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > loadBeanDefinitions
> > INFO: Loading XML bean definitions from class path resource
> > [META-INF/cxf/cxf-extension-jaxrs-binding.xml]
> > Mar 1, 2011 12:45:48 AM
> > org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> > loadBeanDefinitions
> > INFO: Loading XML bean definitions from class path resource
> > [META-INF/cxf/cxf-extension-http.xml]
> > Mar 1, 2011 12:45:48 AM
> > org.springframework.beans.factory.support.DefaultListableBeanFactory
> > preInstantiateSingletons
> > INFO: Pre-instantiating singletons in
> >
> org.springframework.beans.factory.support.DefaultListableBeanFactory@1242b11
> :
> > defining beans
>
> >[cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.service.factory.FactoryBeanListenerManage
> >e
>
> >r,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apache.cxf.binding.xml.XMLBindingFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory];
> >;
> > root of factory hierarchy
> > Exception in thread "main"
> > org.apache.cxf.service.factory.ServiceConstructionException
> >    at
>
> >org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:128)
> >)
> >
> >    at com.happenings.ws.Server.start(Server.java:32)
> >    at com.happenings.ws.Server.main(Server.java:40)
> > Caused by: org.apache.cxf.BusException: No DestinationFactory was found
> for
> the
> > namespace http://schemas.xmlsoap.org/wsdl/soap/http.
> >    at
>
> >org.apache.cxf.transport.DestinationFactoryManagerImpl.getDestinationFactory(DestinationFactoryManagerImpl.java:127)
> >)
> >
> >    at
> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:87)
> >    at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:71)
> >    at
>
> >org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:95)
> >)
> >
> >    ... 2 more
> >
> > I am clueless. Please help.
> >
> > Regards,
> > Nishant Ranjan
> >
> >
>
>
> --Freeman Fang
>
> ------------------------
>
> FuseSource: http://fusesource.com
> blog: http://freemanfang.blogspot.com
> twitter: http://twitter.com/freemanfang
> Apache Servicemix:http://servicemix.apache.org
> Apache Cxf: http://cxf.apache.org
> Apache Karaf: http://karaf.apache.org
> Apache Felix: http://felix.apache.org
>
>


-- 
Sergey Beryozkin

Application Integration Division of Talend <http://www.talend.com>
http://sberyozkin.blogspot.com

Re: No DestinationFactory was found ...

Posted by Nishant Ranjan <ni...@yahoo.com>.
Hi Freeman,

My build classpath has cxf-rt-transports-http-2.3.0.jar in it.
I am using a maven profile to run the start method:
                  <plugin>
                      <groupId>org.codehaus.mojo</groupId>
                      <artifactId>exec-maven-plugin</artifactId>
                      
<configuration><mainClass>com.happenings.ws.Server</mainClass>
                        <classpathScope>test</classpathScope>
                    </configuration>
                </plugin>

Once again this is how my start() method looks:
private static void start(){
        JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
         sf.setResourceClasses(AuthService.class);
         sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
         sf.setAddress("http://localhost:9080/");
         sf.create();
    }


 Regards,
Nishant Ranjan




________________________________
From: Freeman Fang <fr...@gmail.com>
To: users@cxf.apache.org
Sent: Tuesday, March 1, 2011 2:40:11
Subject: Re: No DestinationFactory was found ...

Hi,

How do you deploy your endpoint?
Seems you miss cxf-rt-transports-http.jar in your classpath.

Freeman
On 2011-3-1, at 上午9:22, Nishant Ranjan wrote:

> Hi,
> 
> I am trying to start a RESTful service using following:
> 
> // I call start() from main
> private static void start(){
>         JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
>         sf.setResourceClasses(AuthService.class);
>         sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
>         sf.setAddress("http://localhost:9080/");
>         sf.create();
>    }
> 
> This is the AuthService class
> ===========================
> 
> @Path("/auth/")
> @Produces("application/json")
> public class AuthService {
> 
>    @GET
>    @Path("/{app}")
>    public String getAuthToken(@PathParam("app") String application,
>                                @QueryParam("") AuthBean bean)
>    {
>        String token = null;
>        xxxxx
>        xxxxxxxx
>        return token;
>    }
> }
> 
> class AuthBean{
>    String facebookToken;
>    public void setCode(String code){
>        facebookToken=code;
>    }
>    public String getCode() {
>        return facebookToken;
>    }
> 
> 
> 
> When I do that, I am getting this error.
> 
> Mar 1, 2011 12:45:47 AM
> org.springframework.context.support.AbstractApplicationContext prepareRefresh
> INFO: Refreshing org.apache.cxf.bus.spring.BusApplicationContext@982589: 
>startup
> date [Tue Mar 01 00:45:47 GMT 2011]; root of context hierarchy
> Mar 1, 2011 12:45:47 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf.xml]
> Mar 1, 2011 12:45:47 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-xml.xml]
> Mar 1, 2011 12:45:48 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-jaxrs-binding.xml]
> Mar 1, 2011 12:45:48 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-http.xml]
> Mar 1, 2011 12:45:48 AM
> org.springframework.beans.factory.support.DefaultListableBeanFactory
> preInstantiateSingletons
> INFO: Pre-instantiating singletons in
> org.springframework.beans.factory.support.DefaultListableBeanFactory@1242b11:
> defining beans
>[cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.service.factory.FactoryBeanListenerManage
>e
>r,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apache.cxf.binding.xml.XMLBindingFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory];
>;
> root of factory hierarchy
> Exception in thread "main"
> org.apache.cxf.service.factory.ServiceConstructionException
>    at
>org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:128)
>)
> 
>    at com.happenings.ws.Server.start(Server.java:32)
>    at com.happenings.ws.Server.main(Server.java:40)
> Caused by: org.apache.cxf.BusException: No DestinationFactory was found for 
the
> namespace http://schemas.xmlsoap.org/wsdl/soap/http.
>    at
>org.apache.cxf.transport.DestinationFactoryManagerImpl.getDestinationFactory(DestinationFactoryManagerImpl.java:127)
>)
> 
>    at org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:87)
>    at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:71)
>    at
>org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java:95)
>)
> 
>    ... 2 more
> 
> I am clueless. Please help.
> 
> Regards,
> Nishant Ranjan
> 
> 


--Freeman Fang

------------------------

FuseSource: http://fusesource.com
blog: http://freemanfang.blogspot.com
twitter: http://twitter.com/freemanfang
Apache Servicemix:http://servicemix.apache.org
Apache Cxf: http://cxf.apache.org
Apache Karaf: http://karaf.apache.org
Apache Felix: http://felix.apache.org


Re: No DestinationFactory was found ...

Posted by Freeman Fang <fr...@gmail.com>.
Hi,

How do you deploy your endpoint?
Seems you miss cxf-rt-transports-http.jar in your classpath.

Freeman
On 2011-3-1, at 上午9:22, Nishant Ranjan wrote:

> Hi,
>
> I am trying to start a RESTful service using following:
>
> // I call start() from main
> private static void start(){
>         JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean();
>         sf.setResourceClasses(AuthService.class);
>         sf.setBindingId(JAXRSBindingFactory.JAXRS_BINDING_ID);
>         sf.setAddress("http://localhost:9080/");
>         sf.create();
>    }
>
> This is the AuthService class
> ===========================
>
> @Path("/auth/")
> @Produces("application/json")
> public class AuthService {
>
>    @GET
>    @Path("/{app}")
>    public String getAuthToken(@PathParam("app") String application,
>                                @QueryParam("") AuthBean bean)
>    {
>        String token = null;
>        xxxxx
>        xxxxxxxx
>        return token;
>    }
> }
>
> class AuthBean{
>    String facebookToken;
>    public void setCode(String code){
>        facebookToken=code;
>    }
>    public String getCode() {
>        return facebookToken;
>    }
>
>
>
> When I do that, I am getting this error.
>
> Mar 1, 2011 12:45:47 AM
> org.springframework.context.support.AbstractApplicationContext  
> prepareRefresh
> INFO: Refreshing  
> org.apache.cxf.bus.spring.BusApplicationContext@982589: startup
> date [Tue Mar 01 00:45:47 GMT 2011]; root of context hierarchy
> Mar 1, 2011 12:45:47 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf.xml]
> Mar 1, 2011 12:45:47 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-xml.xml]
> Mar 1, 2011 12:45:48 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-jaxrs-binding.xml]
> Mar 1, 2011 12:45:48 AM
> org.springframework.beans.factory.xml.XmlBeanDefinitionReader
> loadBeanDefinitions
> INFO: Loading XML bean definitions from class path resource
> [META-INF/cxf/cxf-extension-http.xml]
> Mar 1, 2011 12:45:48 AM
> org.springframework.beans.factory.support.DefaultListableBeanFactory
> preInstantiateSingletons
> INFO: Pre-instantiating singletons in
> org 
> .springframework 
> .beans.factory.support.DefaultListableBeanFactory@1242b11:
> defining beans
> [cxf,org.apache.cxf.bus.spring.BusApplicationListener,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.apache.cxf.resource.ResourceManager,org.apache.cxf.configuration.Configurer,org.apache.cxf.binding.BindingFactoryManager,org.apache.cxf.transport.DestinationFactoryManager,org.apache.cxf.transport.ConduitInitiatorManager,org.apache.cxf.wsdl.WSDLManager,org.apache.cxf.phase.PhaseManager,org.apache.cxf.workqueue.WorkQueueManager,org.apache.cxf.buslifecycle.BusLifeCycleManager,org.apache.cxf.endpoint.ServerRegistry,org.apache.cxf.endpoint.ServerLifeCycleManager,org.apache.cxf.endpoint.ClientLifeCycleManager,org.apache.cxf.transports.http.QueryHandlerRegistry,org.apache.cxf.endpoint.EndpointResolverRegistry,org.apache.cxf.headers.HeaderManager,org.apache.cxf.catalog.OASISCatalogManager,org.apache.cxf.service.factory.FactoryBeanListenerManage
> r,org.apache.cxf.endpoint.ServiceContractResolverRegistry,org.apache.cxf.binding.xml.XMLBindingFactory,org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder,org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder,org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider,org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory];
> root of factory hierarchy
> Exception in thread "main"
> org.apache.cxf.service.factory.ServiceConstructionException
>    at
> org 
> .apache 
> .cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java: 
> 128)
>
>    at com.happenings.ws.Server.start(Server.java:32)
>    at com.happenings.ws.Server.main(Server.java:40)
> Caused by: org.apache.cxf.BusException: No DestinationFactory was  
> found for the
> namespace http://schemas.xmlsoap.org/wsdl/soap/http.
>    at
> org 
> .apache 
> .cxf 
> .transport 
> .DestinationFactoryManagerImpl 
> .getDestinationFactory(DestinationFactoryManagerImpl.java:127)
>
>    at  
> org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:87)
>    at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:71)
>    at
> org 
> .apache 
> .cxf.jaxrs.JAXRSServerFactoryBean.create(JAXRSServerFactoryBean.java: 
> 95)
>
>    ... 2 more
>
> I am clueless. Please help.
>
> Regards,
> Nishant Ranjan
>
>


-- 
Freeman Fang

------------------------

FuseSource: http://fusesource.com
blog: http://freemanfang.blogspot.com
twitter: http://twitter.com/freemanfang
Apache Servicemix:http://servicemix.apache.org
Apache Cxf: http://cxf.apache.org
Apache Karaf: http://karaf.apache.org
Apache Felix: http://felix.apache.org