7

この質問はばかげているかもしれませんが、JAX-WSRIWebサービスによって生成されたWSDL2.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にWSDL2.0を生成するように明示的に指示する方法を知っている人はいますか?2007年以降のW3C勧告が2.0であることを考えると、JAX-WSがそれを生成する方法を提供していると私は確信しています。

ありがとう。

4

1 に答える 1

7

私は、JAX-WS がそれを生成する方法を提供していると確信しています。

申し訳ありませんが、そうではありません。JAX-WS 2.0 仕様の 2 ページ目、「目標」セクションから引用するには:

WSDL 2.0: W3C は、この JSR の存続期間中に WSDL 2.0[11] を勧告に進めることが期待されています。JAX-WS 2.0 は、WSDL 1.1 の継続的なサポートを必要とする一方で、WSDL 2.0 のサポートを追加します。注: JSR の専門家グループは、このリリースのこの目標に反対することを決定しました。JAX-WS 仕様の将来のリビジョンでサポートを追加することを検討します。

これは、JAX-WS 2.0 で WSDL 2.0 がサポートされないことを意味します。このため、リファレンス実装では WSDL 2.0 がサポートされていません。現時点では、この分野ではあまり進歩がありません。

JAX-WS に沿って WSDL 2.0 が必要な場合は、Axis2などの別のスタックを使用する必要があります。

于 2012-12-04T16:10:19.237 に答える