这个问题可能很愚蠢,但我还没有找到一种方法来获取由JAX-WS RI Web服务生成的WSDL 2.0。
我一直在使用最新的jax-ws版本,如果我创建一个非常简单的WS(例如下面的例子),生成的WSDL将是版本1.1。
@WebService
public interface RandomNumberGenerator {
Integer getRandomNumber();
}
@WebService(endpointInterface="RandomNumberGenerator")
public class RandomNumberGeneratorImpl {
public Integer getRandomNumber() {
return (int) (Math.random() * 1000);
}
}
有谁知道我如何明确告诉JAX-WS生成WSDL 2.0?考虑到2.0是自2007年以来的W3C推荐,我非常有信心JAX-WS提供了一种生成它的方法。
感谢。
答案 0 :(得分:8)
我非常有信心JAX-WS提供了一种生成它的方法。
我害怕,但事实并非如此。引用the JAX-WS 2.0 specification,第2页,目标部分:
WSDL 2.0:W3C有望将WSDL 2.0 [11]推进到推荐标准 在这个JSR的生命周期中。 JAX-WS 2.0将添加对WSDL的支持 2.0,同时需要继续支持WSDL 1.1。注意:JSR专家组决定针对此版本的此目标。我们会 看看在未来的JAX-WS版本中添加支持 说明书
这意味着JAX-WS 2.0中不会支持WSDL 2.0,这就是参考实现不提供它的原因。 Afaik,目前这方面没有多大进展。
如果你想在JAX-WS中使用WSDL 2.0,你将不得不使用另一个堆栈,例如Axis2。