Someone else can probably answer your question, but a Windows service version of Tomcat is available[1], and you can place your web service as a WAR in Tomcat[2], and then just simply shut down and start up the Tomcat Windows service. That would probably give you a lot more flexibility in many other areas as well--logging, memory management, portability, etc.

Glen

[1] http://tomcat.apache.org/download-70.cgi#7.0.22
[2] http://www.jroller.com/gmazza/entry/web_service_tutorial

On 10/06/2011 08:05 PM, nkunkov wrote:
Hello,
I'm a complete newby to CXF.
I realize that usually web services are deployed as part of the web
application.
I have to have web services started by a windows service.
I'm able to execute the web services but I'm wondering how can I shut them
down?
I don't seem to be able to get a handle to the server...

Here is my server:


...................
NotifyNewSearchWSImpl impl = new NotifyNewSearchWSImpl();
                JaxWsServerFactoryBean svrFactory = new 
JaxWsServerFactoryBean();
                //ServerFactoryBean svrFactory = new ServerFactoryBean();
                svrFactory.setServiceClass(INotifyNewSearchWS.class);
                
                svrFactory.setAddress(url);
                svrFactory.setServiceBean(impl);
         Server server  = svrFactory.create();
...................

In my windows service I start it when the service starts using the
following:

new NotifyNewSearchWS_Server(parms);    

I'm assuming that when my windows service gets a stop signal, I should be
able to do the following:
server.destroy();

Am I right?  I don't seem to be able to stop the services this way...

Also, while playing with the above code, i put it in the try/catch block and
now am getting a following exception:
      [java] java.lang.RuntimeException: Soap 1.1 endpoint already registered
on
address http://localhost:9005/NotifyNewSearch
      [java]     at
org.apache.cxf.binding.soap.SoapBindingFactory.addListener(So
apBindingFactory.java:862)
      [java]     at
org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:127)

      [java]     at
org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactor
yBean.java:186)
      [java]     at
org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServe
rFactoryBean.java:183)
      [java]     at
com.escholar.ws.server.NotifyNewSearchWS_Server.<init>(Notify
NewSearchWS_Server.java:33)
      [java]     at com.escholar.is.Test.main(Test.java:42)


I would greatly appreciate any help on this.
Thanks so much!

--
View this message in context: 
http://cxf.547215.n5.nabble.com/Calling-CXF-WebService-from-a-standalone-windows-service-tp4878387p4878387.html
Sent from the cxf-user mailing list archive at Nabble.com.


--
Glen Mazza
Talend - http://www.talend.com/apache
Blog - http://www.jroller.com/gmazza
Twitter - glenmazza

Reply via email to