如何使用JAX-WS生成WSDL 2.0

时间:2012-11-17 16:12:38

标签: web-services wsdl jax-ws w3c

这个问题可能很愚蠢,但我还没有找到一种方法来获取由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提供了一种生成它的方法。

感谢。

1 个答案:

答案 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