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