如何使用JAX-WS生成WSDL 2.0

7

这个问题可能有点傻,但是我还没有找到一个方法来获取由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吗?考虑到自2007年以来2.0是W3C的推荐,我相信JAX-WS肯定提供了生成它的方法。

谢谢。

1个回答

7
我很有信心JAX-WS提供了一种生成它的方法。 很遗憾,它没有。引用自JAX-WS 2.0规范第2页第Goals节: WSDL 2.0:预计W3C将在此JSR的生命周期内推进WSDL 2.0[11]至推荐状态。JAX-WS 2.0将添加对WSDL 2.0的支持,同时要求继续支持WSDL 1.1。注意:JSR的专家组决定不实现此目标。我们将考虑在JAX-WS规范的未来修订版中添加支持。 这意味着JAX-WS 2.0中将没有WSDL 2.0支持,这就是为什么参考实现不提供它的原因。据我所知,目前在这个领域没有太多进展。
如果您想要使用JAX-WS和WSDL 2.0,则需要使用另一个堆栈,例如Axis2

1
这个现在有变化吗?现在可以了吗?对于Glassfish 4又是怎样的呢? - bastiat
2
JAX-WS 没有更新(据我所知,Java 9 也没有计划更新),所以这一点并没有改变。我也不知道 Glassfish 4 中与 WSDL 相关的更新。说实话,如果支持 WSDL 2.0,我会非常惊讶。 - joergl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接