【发布时间】:2016-03-15 14:57:29
【问题描述】:
我定义了以下最小网络服务:
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
@WebService
public class DummyWS {
public static void main(String[] args) {
final String url= "http://localhost:8888/Dummy";
final Endpoint endpoint= Endpoint.create(new DummyWS());
endpoint.publish(url);
}
@WebMethod
public void putData(final String value) {
System.out.println("value: "+value);
}
@WebMethod
public void doSomething() {
System.out.println("doing nothing");
}
public void myInternalMethod() {
System.out.println("should not be exposed via WSDL");
}
}
如您所见,我有两种方法要公开,因为它们都带有 @WebMethod 注释:putData 和 doSomething。
但是在运行 wsgen 时,它会生成一个包含 myInternalMethod 的 WSDL,尽管它没有被 注释。
我这里有错误的配置吗?为什么暴露了一个没有@WebMethod注解的方法?
【问题讨论】:
标签: java web-services wsdl webmethod