みなさんは
Web Services Interoperability Technologies (WSIT, a.k.a. Project Tango)をご存知でしょうか。これは,JavaプラットフォームとWindows Communication Foundation (WCF, a.k.a. Indigo)との間でのWebサービスの相互運用性を確立,検証するプロジェクトで,SOAでの課題であるプラットフォーム間の相互運用性の確保に重要な役割を果たします。
WSITには,JAX-WSとJAXBをベースとして,様々な追加機能が組み込まれています。
(概要については,
Harold Carr's Blogや,
Arun Guptaが一覧をまとめている
JavaOne 2006での関連セッションを参照してください。JavaOneの資料は
ここからダウンロードできます。)
現在,
WSITのページからバイナリをダウンロードして試すことが出来ます。前提となる環境は,Glassfish V2 b08以降,NetBeans 5.5 Beta 2です。
インストール手順や
チュートリアルもありますのでお試しください。
私は,WSIT Milestone Release 1,
Glassfish V2 Milestone 1,
Java EE 5 Tools Bundle (NetBeans 5.5 Beta 2対応に更新されている)の組み合わせで,
NetBeansを使ったチュートリアルを試してみました。
なお,1箇所だけ不具合があったので回避策をメモしておきます。
WSITのライブラリを解凍し,
>
ant [ -Das.home= ] -f wsit-on-glassfish.xml installのようにして,Glassfish V2 Milestone 1の環境にWSITをインストールすると,Glassfishが起動しなくなってしまいます。
これは,[glassfish_dir]/domains/domain1/config/domain.xmlの中で
<java-config classpath-prefix="${com.sun.aas.installRoot}/lib/jaxws-update.jar" classpath-prefix="${com.sun.aas.installRoot}/lib/webservices.jar${path.separator}${com.sun.aas.installRoot}/lib/webservices-tools.jar" ...>
のように,同じ名前classpath-prefixの属性が2つ指定されてしまっているのが原因のようです。
テキストエディタでdomain.xmlを開いて,以下のように1つの値に結合してください。
${path.separator}を間に挟むのをお忘れなく。
<java-config
classpath-prefix="${com.sun.aas.installRoot}/lib/jaxws-update.jar${path.separator}${com.sun.aas.installRoot}/lib/webservices.jar${path.separator}${com.sun.aas.installRoot}/lib/webservices-tools.jar"
...>
ここさえクリアすれば,あとはチュートリアルどおりに動きます。