Yes I run it like so, I need both http-jetty and http transports to get the service started.
java -cp test-1.0-jar-with-dependencies.jar:cxf-rt-transports-http-2.7.11.jar:cxf-rt-transports-http-jetty-2.7.11.jar com.crush.tests.service.Test I'm trying to deploy this to a VM so I will not be able to run the maven profile in my target deployment On Thu, Jul 3, 2014 at 7:53 AM, Sergey Beryozkin <[email protected]> wrote: > So you have a jar and then add CXF http-jetty tarnsport to the classpath > with -cp ? I don;t understand how else you'd get JettyHttpDestination > loaded as per the stack trace. > If you do follow this approach then I'm not sure it makes sense to > investigate the cause because this is not how CXF applications ever run, > one would use -Pserver for a simple demo run or would depend on a war and > HTTP containers... > > Cheers, Sergey > > > > On 03/07/14 12:45, Chris Bud wrote: > >> I'm running from the command line using my standalone jar. I configured >> cxf >> without spring per the link you provided. >> >> >> On Thu, Jul 3, 2014 at 7:08 AM, Sergey Beryozkin <[email protected]> >> wrote: >> >> Have you created a war or use -Pserver or something else ? >>> >>> Cheers, Sergey >>> >>> On 03/07/14 10:31, Chris Bud wrote: >>> >>> Now I try to hit my service and I'm getting an exception >>>> >>>> 2014-07-03 04:49:58.264:WARN:oejs.AbstractHttpConnection:/basic/test >>>> java.lang.NullPointerException >>>> at >>>> org.apache.cxf.transport.ChainInitiationObserver.onMessage( >>>> ChainInitiationObserver.java:99) >>>> at >>>> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke( >>>> AbstractHTTPDestination.java:243) >>>> at >>>> org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService( >>>> JettyHTTPDestination.java:259) >>>> at >>>> org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle( >>>> JettyHTTPHandler.java:65) >>>> at >>>> org.eclipse.jetty.server.handler.ContextHandler. >>>> doHandle(ContextHandler.java:1067) >>>> at >>>> org.eclipse.jetty.server.handler.ContextHandler. >>>> doScope(ContextHandler.java:1003) >>>> at >>>> org.eclipse.jetty.server.handler.ScopedHandler.handle( >>>> ScopedHandler.java:117) >>>> at >>>> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle( >>>> ContextHandlerCollection.java:250) >>>> at >>>> org.eclipse.jetty.server.handler.HandlerWrapper.handle( >>>> HandlerWrapper.java:111) >>>> at org.eclipse.jetty.server.Server.handle(Server.java:351) >>>> at >>>> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest( >>>> AbstractHttpConnection.java:454) >>>> at >>>> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete( >>>> AbstractHttpConnection.java:890) >>>> at >>>> org.eclipse.jetty.server.AbstractHttpConnection$ >>>> RequestHandler.headerComplete(AbstractHttpConnection.java:944) >>>> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:634) >>>> at org.eclipse.jetty.http.HttpParser.parseAvailable( >>>> HttpParser.java:230) >>>> at >>>> org.eclipse.jetty.server.AsyncHttpConnection.handle( >>>> AsyncHttpConnection.java:77) >>>> at >>>> org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle( >>>> SelectChannelEndPoint.java:609) >>>> at >>>> org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run( >>>> SelectChannelEndPoint.java:45) >>>> at >>>> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob( >>>> QueuedThreadPool.java:599) >>>> at >>>> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run( >>>> QueuedThreadPool.java:534) >>>> at java.lang.Thread.run(Thread.java:722) >>>> >>>> Here's my service class >>>> >>>> @Path("/basic") >>>> @Produces("text/xml") >>>> public class BasicServiceImpl implements BasicService { >>>> @GET >>>> @Path("/test") >>>> public String test() >>>> { >>>> log.debug("Test() WSMethod called!"); >>>> return "This is a test rest call"; >>>> } >>>> >>>> } >>>> >>>> The server starts up with this output >>>> Jul 03, 2014 5:24:08 AM org.apache.cxf.endpoint.ServerImpl >>>> initDestination >>>> INFO: Setting the server's publish address to be http://localhost:9000/ >>>> 2014-07-03 05:24:08.279:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT >>>> 2014-07-03 05:24:08.313:INFO:oejs.AbstractConnector:Started >>>> SelectChannelConnector@localhost:9000 >>>> 2014-07-03 05:24:08,328 INFO [com.crush.tests.service.Test] - Started >>>> Basic >>>> Web Service! >>>> >>>> I'm trying to make the request via wget >>>> wget http://localhost:9000/basic/test >>>> --2014-07-03 05:13:11-- http://localhost:9000/basic/test >>>> Resolving localhost (localhost)... 127.0.0.1 >>>> Connecting to localhost (localhost)|127.0.0.1|:9000... connected. >>>> HTTP request sent, awaiting response... 500 Server Error >>>> 2014-07-03 05:13:11 ERROR 500: Server Error. >>>> >>>> Am I missing something? >>>> >>>> >>>> On Mon, Jun 30, 2014 at 6:31 AM, Chris Bud <chrisb.business.email@gmail. >>>> com> >>>> wrote: >>>> >>>> I only copied the source from the demo, I put it into my own project >>>> and >>>> >>>>> added the maven assembly plugin so all my dependencies were bundled >>>>> into >>>>> a >>>>> single jar. >>>>> >>>>> >>>>> On Mon, Jun 30, 2014 at 6:14 AM, Sergey Beryozkin < >>>>> [email protected]> >>>>> wrote: >>>>> >>>>> Hi >>>>> >>>>>> >>>>>> On 30/06/14 11:08, Chris Bud wrote: >>>>>> >>>>>> Thanks Sergey, I was able to start the server with both >>>>>> transports-http >>>>>> >>>>>>> and >>>>>>> transports-http-jetty on the classpath.. What I don't understand is >>>>>>> why >>>>>>> this works but with those bundled into a single jar it does not. >>>>>>> >>>>>>> The demo build produces a jar with the demo classes only. >>>>>>> >>>>>>> >>>>>> Cheers, Sergey >>>>>> >>>>>> >>>>>> On Mon, Jun 30, 2014 at 5:56 AM, Sergey Beryozkin < >>>>>>> [email protected]> >>>>>>> wrote: >>>>>>> >>>>>>> Sorry, I was wrong, it is a jar after all. The demo is not meant >>>>>>> to >>>>>>> be >>>>>>> >>>>>>> deployed into the container, and a such having a CXF http-jetty >>>>>>>> transport >>>>>>>> Maven dependency is sufficient. >>>>>>>> You can't have it run from java directly, actually you probably can >>>>>>>> if >>>>>>>> you >>>>>>>> update a classpath to reference a cxf-rt-transport-http-jetty jar >>>>>>>> shipped >>>>>>>> in the distribution. >>>>>>>> >>>>>>>> Cheers, Sergey >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 30/06/14 10:49, Chris Bud wrote: >>>>>>>> >>>>>>>> Hi Sergey, >>>>>>>> >>>>>>>> >>>>>>>>> Thanks for the link I tried to implement but still produces the >>>>>>>>> same >>>>>>>>> error. >>>>>>>>> >>>>>>>>> >>>>>>>>> java -cp target/sample-service-1.0-jar-with-dependencies.jar >>>>>>>>> com.crush.tests.service.Test >>>>>>>>> Exception in thread "main" >>>>>>>>> org.apache.cxf.service.factory.ServiceConstructionException >>>>>>>>> at >>>>>>>>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create( >>>>>>>>> JAXRSServerFactoryBean.java:205) >>>>>>>>> at com.crush.tests.service.Test.<init>(Test.java:27) >>>>>>>>> at com.crush.tests.service.Test.main(Test.java:32) >>>>>>>>> Caused by: org.apache.cxf.BusException: No DestinationFactory was >>>>>>>>> found >>>>>>>>> for >>>>>>>>> the namespace http://cxf.apache.org/transports/http. >>>>>>>>> at >>>>>>>>> org.apache.cxf.bus.managers.DestinationFactoryManagerImpl. >>>>>>>>> getDestinationFactory(DestinationFactoryManagerImpl.java:130) >>>>>>>>> at org.apache.cxf.endpoint.ServerImpl.initDestination( >>>>>>>>> ServerImpl.java:78) >>>>>>>>> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:62) >>>>>>>>> at >>>>>>>>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create( >>>>>>>>> JAXRSServerFactoryBean.java:159) >>>>>>>>> ... 2 more >>>>>>>>> >>>>>>>>> My Test source >>>>>>>>> public class Test >>>>>>>>> { >>>>>>>>> >>>>>>>>> protected Test() throws Exception >>>>>>>>> { >>>>>>>>> JAXRSServerFactoryBean sf = new JAXRSServerFactoryBean(); >>>>>>>>> sf.setResourceClasses(SampleServiceImpl.class); >>>>>>>>> sf.setResourceProvider(SampleServiceImpl.class, >>>>>>>>> new SingletonResourceProvider(new >>>>>>>>> SampleServiceImpl())); >>>>>>>>> sf.setAddress("http://localhost:9000/"); >>>>>>>>> >>>>>>>>> BindingFactoryManager manager = >>>>>>>>> sf.getBus().getExtension(BindingFactoryManager.class); >>>>>>>>> JAXRSBindingFactory factory = new JAXRSBindingFactory(); >>>>>>>>> factory.setBus(sf.getBus()); >>>>>>>>> manager.registerBindingFactory(JAXRSBindingFactory.JAXRS_ >>>>>>>>> BINDING_ID, >>>>>>>>> factory); >>>>>>>>> >>>>>>>>> >>>>>>>>> sf.create(); >>>>>>>>> } >>>>>>>>> >>>>>>>>> public static void main(String[] args) throws Exception >>>>>>>>> { >>>>>>>>> new Test(); >>>>>>>>> System.out.println("Server ready..."); >>>>>>>>> Thread.sleep(5 * 6000 * 1000); >>>>>>>>> System.out.println("Server exiting"); >>>>>>>>> System.exit(0); >>>>>>>>> >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> Any other thoughts? >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Jun 27, 2014 at 5:07 PM, Sergey Beryozkin < >>>>>>>>> [email protected]> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>> Hi >>>>>>>>> >>>>>>>>> >>>>>>>>> On 27/06/14 17:51, Chris Bud wrote: >>>>>>>>>> >>>>>>>>>> Hi All, >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> I'm trying to build a basic jax-rs example using version 2.7.11. >>>>>>>>>>> Using >>>>>>>>>>> the >>>>>>>>>>> server and service code from the example code >>>>>>>>>>> <http://svn.apache.org/viewvc/cxf/trunk/distribution/src/ >>>>>>>>>>> main/release/samples/jax_rs/basic/>, >>>>>>>>>>> >>>>>>>>>>> I can build and run it just like the readme instructions say (mvn >>>>>>>>>>> -Pserver) >>>>>>>>>>> but if I produce a jar bundled with the dependencies and run from >>>>>>>>>>> the >>>>>>>>>>> command line I cannot get the server to start. I get the >>>>>>>>>>> following >>>>>>>>>>> exception >>>>>>>>>>> >>>>>>>>>>> test-service/target$ java -cp test-service-1.0-jar-with- >>>>>>>>>>> dependencies.jar >>>>>>>>>>> com.test.Server >>>>>>>>>>> Exception in thread "main" >>>>>>>>>>> org.apache.cxf.service.factory.ServiceConstructionException >>>>>>>>>>> at >>>>>>>>>>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create( >>>>>>>>>>> JAXRSServerFactoryBean.java:190) >>>>>>>>>>> at com.test.Server.<init>(Server.java:24) >>>>>>>>>>> at com.test.Server.main(Server.java:29) >>>>>>>>>>> Caused by: org.apache.cxf.BusException: No DestinationFactory was >>>>>>>>>>> found >>>>>>>>>>> for >>>>>>>>>>> the namespace http://cxf.apache.org/transports/http. >>>>>>>>>>> at >>>>>>>>>>> org.apache.cxf.bus.managers.DestinationFactoryManagerImpl. >>>>>>>>>>> getDestinationFactory(DestinationFactoryManagerImpl.java:130) >>>>>>>>>>> at org.apache.cxf.endpoint.ServerImpl.initDestination( >>>>>>>>>>> ServerImpl.java:78) >>>>>>>>>>> at org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:62) >>>>>>>>>>> at >>>>>>>>>>> org.apache.cxf.jaxrs.JAXRSServerFactoryBean.create( >>>>>>>>>>> JAXRSServerFactoryBean.java:151) >>>>>>>>>>> ... 2 more >>>>>>>>>>> >>>>>>>>>>> Can anyone point me in the right direction? >>>>>>>>>>> >>>>>>>>>>> It appears that when running a packaged Jetty based demo the >>>>>>>>>>> following >>>>>>>>>>> >>>>>>>>>>> has to be done: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> http://cxf.apache.org/docs/jaxrs-services-configuration.html# >>>>>>>>>> JAXRSServicesConfiguration-ConfiguringJAX- >>>>>>>>>> RSendpointsprogrammaticallywit >>>>>>>>>> houtSpring >>>>>>>>>> >>>>>>>>>> Please see the lines related to registering binding id/factory >>>>>>>>>> >>>>>>>>>> Can you please update Server accordingly, recompile and retry ? >>>>>>>>>> >>>>>>>>>> Cheers, Sergey >>>>>>>>>> >>>>>>>>>> Thanks, >>>>>>>>>> >>>>>>>>>> Chris >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> >>>>>>>>>>> Sergey Beryozkin >>>>>>>>>> >>>>>>>>>> Talend Community Coders >>>>>>>>>> http://coders.talend.com/ >>>>>>>>>> >>>>>>>>>> Blog: http://sberyozkin.blogspot.com >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>> >>>>>>>> Sergey Beryozkin >>>>>>>> >>>>>>>> Talend Community Coders >>>>>>>> http://coders.talend.com/ >>>>>>>> >>>>>>>> Blog: http://sberyozkin.blogspot.com >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> -- >>>>>> Sergey Beryozkin >>>>>> >>>>>> Talend Community Coders >>>>>> http://coders.talend.com/ >>>>>> >>>>>> Blog: http://sberyozkin.blogspot.com >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>> -- >>> Sergey Beryozkin >>> >>> Talend Community Coders >>> http://coders.talend.com/ >>> >>> Blog: http://sberyozkin.blogspot.com >>> >>> >> > > -- > Sergey Beryozkin > > Talend Community Coders > http://coders.talend.com/ > > Blog: http://sberyozkin.blogspot.com >
