Web services 如何停止此javax.xml.ws.Endpoint服务

Web services 如何停止此javax.xml.ws.Endpoint服务,web-services,jakarta-ee,jax-ws,Web Services,Jakarta Ee,Jax Ws,我喜欢下面的代码,以便开始发布wsdl package my.mimos.stp.MelodyWS.webservice; import javax.xml.ws.Endpoint; public class Server { public static void main(String[] args) { Endpoint.publish("http://localhost:8081/Melody/MelodyService", new Melody

我喜欢下面的代码,以便开始发布wsdl

    package my.mimos.stp.MelodyWS.webservice;

import javax.xml.ws.Endpoint;



public class Server {

    public static void main(String[] args) {

        Endpoint.publish("http://localhost:8081/Melody/MelodyService", new MelodyWS());

        System.out.println("Melody service is ready");

    }

}

如果我想停止该服务,我该怎么办?我对MelodyWS进行了更改,希望重新发布它。

您必须在Endpoint对象上保留一个引用,并在其上调用
stop()
方法:

Endpoint ep = Endpoint.create(new MelodyWS());
ep.publish("http://localhost:8081/Melody/MelodyService");
..
ep.stop();

我尝试了您的解决方案,但出现了一个错误:“地址已在使用:绑定”。我相信这是因为“publish()”方法。有什么建议吗?@bustedstanta不会立即停止服务。当
ep.stop()
完成时,您以前绑定到的端口(在本例中为8081)应该是空闲的。您可以使用telnet命令(例如,
telnet localhost 8081
)检查这一点。只有在端口空闲后,才能重新发布服务。