2012-11-17 5 views
6

この質問は愚かかもしれませんが、JAX-WS RI Webサービスによって生成されたWSDL 2.0を取得する方法が見つかりませんでした。JAX-WSで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); 
     }  
    } 

WSDL 2.0を生成するようにJAX-WSに明示的に伝える方法を知っている人はいますか? 2007年以来の2.0のW3C勧告を考えると、JAX-WSはそれを生成する方法を提供していると確信しています。

ありがとうございました。

答えて

9

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

私は恐れています。 the JAX-WS 2.0 specificationから引用し、2ページ、セクションゴール:

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

これは今変更されていますか?今は可能ですか?グラスフィッシュ4の場合はどうですか? – bastiat

+2

JAX-WSへの更新はありませんでした(afaikのJava 9も予定されていません)ので、これは変更されていません。私はglassfish 4のWSDL関連のアップデートについても気づいていません4。正直言って、WSDL 2.0がサポートされれば非常に驚いています。 – joergl

関連する問題