目次へ

Studio5でTomcatでJWSDPだ!

Sun ONE Studio5は出たがAS7はない、Solaris-x86環境!がっかりするなヨ、TomcatだけでもWebServiceでガンガン遊べるぜ!新しいトピックほど上にくる積み上げ方式!

/いきなり実行/いきなり配備/Webサービスの作成/メソッドの用意/Webモジュールの用意/


いきなり実行

myWebService.wsdlとか、myWebServiceGenServerとかというのが、サーバ側について自動生成されたファイル群のようだ。クライアントモジュールとしてmyWebServiceClient.wscというのがある。これをまた右クリックしてメニューを出すと「実行」というのがある。これをやるとどうなるのか?やってみた。

いきなりまたTomcatとかが再起動して、こんどはブラウザが立ち上がり、テストクライアント画面みたくなる。

string_1に「のに子」と入力して「呼び出し」ボタンを押してみた。するとちょっともたせた後

おお。どうやらつながったようだ!SOAPリクエスト・レスポンス(また律儀に和訳してやーんな・・・)の表示を出してみる。

見慣れた(見慣れたんだなあ、のに子も)SOAPメッセージが現れる。

よし。これがJWSDPによるWeb Serviceのようだ。あとはどんなサービスクラスやどんなクライアントができているのかじっくり検討させていただきますです(でもぜってえAxisのほうが簡単だよなあ・・・いくらSunの犬のわたしでも・・・)

2003年11月02日

ページ先頭に戻る


いきなり配備

こうしてmyWebService.xmsというものが、mywsディレクトリ下にできる。右クリックするとメニューの中に「配備」というのがある。これ、やってみたらどうなるかと思ってやってみた。

すると、「クライアントが作成されていませんが作成しますか?」ときかれるので、作成してもらうことにする。
するとさらに いきなり活動が激しくなり、wsdlファイルだのWebService用のパッケージだのができてTomcatが立ち上がって、でもブラウザまでは立ち上がらずに終わる。

2003年11月02日

ページ先頭に戻る


Webサービスの作成

Webサービスの新規作成は、Webモジュールとしてマウントしたmywsディレクトリ上で行う。

すると、パッケージとして自動的にmywsを認識してくれる。

Webサービスの名前をmyWebServiceに決定する。「フォーム作成」は「Javaメソッド」。これはEJBとか使う場合も同様である。
だが、「アーキテクチャ」のデフォルトが「多層」になってるのを、「Web主体」にするのがポイントのようだ。
「Web主体」にした場合、あとで生成するwsdlの記述が

<port name="myWebServiceRPCPort" binding="tns:myWebServiceRPCBinding">
<soap:address location="http://localhost:8081/myWebService/myWebService"/></port>

になっているが、これを「多層」にすると、アドレスがlocalhost:80になっている。そして最終的にEJBモジュールみたいなものができてわけわかんなくなる。

次にWebServiceとして採用するメソッドの選択である。

ここでEchoとdoEchoのアイコンが違う。下がstaticのメソッドということらしい。staticなEchoのほうを選ぶ。

2003年11月02日

ページ先頭に戻る


メソッドの用意

次に、Web Serviceに載せるためのメソッドを用意する。場所はどこでもいい。パッケージもどこでもいい。みたい。ただし、コードの書き方にはちょいと工夫があるようだ。

package se5test;

public class doMyWS {

public static String Echo(String input){
doMyWS myws=new doMyWS();
return myws.doEcho(input);
}

public String doEcho(String input){
return input+" さん ヘイヘヘイ";
}
}

ここでは、se5testという適当なパッケージ下に作った。実は、Webサービスを作成するときに選ぶメソッドはStaticでないとエラーになるのだ。以前、それで苦労したことがある。その後いろんな例を見てこういう書き方をするんだとわかった。つまり、Staticでないメソッドを呼び出すだけのStaticなメソッドを作るのである。

ま、月並みな例ではある。たとえば「のに子」と入力すると「のに子さん ヘヘイヘイ」と帰ってくる。前にもやったかも。

2003年11月02日

ページ先頭に戻る


Webモジュールの用意

Java Web Service Developer Packってダウンロードしてインストールしてみたけどあとどーすんのヨ、というような文句はたれないことにして、Sun ONE Studio Standard Edition5ではその機能をそっくり、内蔵Tomcatとグラフィカルなインターフェイスで再現できるらしい。ホントにできるかどうかやってみることにした。
言うまでもなくStudio 5はSun ONE Application Server 7でEJBなことをやることを前提としているようなので、そのままWebサービスの作成とかやるとEJB用のサービス環境を作ってしまうみたいだ。だが、おまえさんが働くのはTomcatのWebモジュール用の環境なんだヨということをきちんとわからせてやれば素直にTomcat用のものを作ってくれるようだ。

そのために、まず空のWebモジュールを用意した。ホームディレクトリにse5worksというフォルダを作って、さらにその下にmywsというフォルダを作る。NetBeansでサーブレットとか作るのと同じように、「新規」->「Webモジュール」でマウント先にse5works/mywsフォルダを指定する。

いつもやってることだけどネ

するとエクスプローラ上で、おなじみのこんなレイアウトになる。web.websunというファイルが珍しいが。

2003年11月02日

ページ先頭に戻る