java端点_使用Java发布和停止端点Web服务

我试图通过单击按钮在与主程序不同的线程中启动/停止端点Web服务.开始工作正常,我能够毫无问题地访问我的所有WebMethods.问题是,当我单击停止按钮尝试停止Web服务端点时,我得到一个例外,我不知道它是什么.我也是

Java的新手.

提前致谢.

在’ep.stop()’抛出的异常:

WebService Running On: http://0.0.0.0:9898/

Exception in thread "Thread-0" java.lang.NullPointerException

at com.sun.xml.internal.ws.transport.http.server.ServerMgr.removeContext(Unknown Source)

at com.sun.xml.internal.ws.transport.http.server.HttpEndpoint.stop(Unknown Source)

at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.stop(Unknown Source)

at com.simba.Server.startWebSrv(Server.java:27)

at com.simba.Server.run(Server.java:13)

服务器类:

import javax.xml.ws.Endpoint;

public class Server extends Thread {

public volatile boolean active = true;

private Endpoint ep;

private String ip = "0.0.0.0";

public void run(){

ep = Endpoint.publish("http://" + ip + ":9898/", new SWS());

startWebSrv();

}

private void startWebSrv(){

synchronized(this){

try {

while (active) {

System.out.println("WebService Running On: http://" + ip + ":9898/");

wait();

}

}catch (InterruptedException e) {

e.printStackTrace();

}finally{

if(!active){

ep.stop();

System.out.println("WebService Stopped!");

}

}

}

}

}

我是如何尝试从主程序中停止服务/线程的:

MenuItem mntmToggleWebservice = new MenuItem(menu_4, SWT.NONE);

mntmToggleWebservice.addSelectionListener(new SelectionAdapter() {

@Override

public void widgetSelected(SelectionEvent e) {

synchronized(srv){

srv.active = false;

srv.notifyAll();

}

}

});

mntmToggleWebservice.setText("Toggle WebService");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值