[英]Generate Wsdl/Client Stubs For Web Service
我一直在阅读有关使用Java,Eclipse等进行Web服务编程的内容,并且发现了一个特定的示例,该人员通过执行以下操作来创建Web服务和客户端:
是否有另一种无需发布Web服务并下载就可以生成wsdl的方法? 也许是一个Maven插件来自动生成wsdl和客户端存根?
更新 :我不会提一个新问题,而只是just带这个问题。
我通过定义接口创建了Web服务:
@WebService
public interface HelloWorldWs {
@WebMethod
public String sayHello(String name);
}
和一个impl类:
@WebService(endpointInterface = "com.me.helloworldws.HelloWorldWs")
public class HelloWorldWsImpl implements HelloWorldWs {
@Override
@WebMethod
public String sayHello(String name) {
return "Hello World Ws, " + name;
}
}
当我运行wsgen时 ,出现以下错误:
The @javax.jws.WebMethod annotation cannot be used in with @javax.jws.WebService.endpointInterface element.
Eclipse似乎还可以。
知道为什么吗?
注意,我最初没有注释,但是当我尝试调用Web服务时,出现以下错误:
com.me.helloworldws.HelloWorldWsImpl is not an interface
JSR 224在3.1节中说:
SEI是满足以下所有条件的Java接口:
- 它的任何方法都可以带有
javax.jws.WebMethod
注释(参见7.11.2)。- 如果使用
javax.jws.WebMethod
,则必须将exclude
元素设置为true
。
如果实现类包括javax.jws.WebMethod
,则根据规范,您不能放置@WebMethod(exclude=true)
而这不可能。
取决于Eclipse的定制版本,为此显示了警告。 例如,用于Websphere的Rational Application Developer显示:
JSR-181, 3.1: WebMethod cannot be used with the endpointInterface
property of WebService
通常,在使用一个高级IDE编程/构建项目时,您应该能够在自动生成的东西之间找到它-IDE应该会生成它。 只是仔细检查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.