2006年 04月 06日
Axis2 では REST での Webサービスをサポートしています。
ドキュメントによると、Axis2 の REST 実装は以下のようになっています。 ・同期型のリクエスト/レスポンス ・GETでアクセスされた場合、サービス名と操作はURLにより識別され、 GETのパラメータがそのままWebサービスのパラメータになる。 引数としては単純型のみサポートされる。 ・POSTでのアクセスの場合、SOAP EnvelopeやSOAP Bodyは不要。 パラメータを直接送ればよい。 また、RESTを使うにあたって、axis2.xmlのコメントアウトされているREST の設定を有効にしておく必要があるとのこと。 3月10日に作成したテストのサービスを使って、確認してみました。 注意として、import org.apache.axis2.om.*; は Axis2 0.95 では import org.apache.ws.commons.om.*; に変更する必要があります。 ●GETでのテスト テストと言っても、WEBブラウザからURLを指定するだけです。 サービス名と操作がURLで識別され、パラメータがそのままWEBサービス引数になるので、 http://localhost:8080/axis2/services/サービス名/操作?パラメータ名1=値1&... のようなイメージとなります。 実際に以下のURLを実行してみます。
すると下の実行例のように結果が取得できるのが分かります。 SOAPのエンベロープもヘッダもボディタグもなく、結果のXMLのみが返ってきています。 ●POSTでのテスト これは簡単なHTMLを書いてやってみたのですが、SOAP Faultが発生してできませんでした。
POSTの所をGETにすれば動くのですが。。。 そこで、今流行の xmlhttprequest を使って以下のようにしてみたところ、
動きました。これは結局XMLを送ってやらないといけないからでしょう。 ドキュメントにあるような、JavaでPOSTクライアントを作成することはやってみてません。 ●RESTの有用性 Axis2でRESTもサポートしているという話を見聞きしていて、あまり必要ではないな と考えていたのですが、これくらい簡単に使えるのなら作成したサービスのとりあえずの 動作チェックに使えるという意味では便利だなと見直しました。
by est2006
| 2006-04-06 23:24
| Axis2
|
カテゴリ
以前の記事
2007年 11月 2007年 07月 2007年 04月 2007年 03月 2007年 02月 2007年 01月 2006年 12月 2006年 11月 2006年 10月 2006年 09月 2006年 08月 2006年 07月 2006年 06月 2006年 05月 2006年 04月 2006年 03月 メモ帳
検索
最新のトラックバック
ライフログ
お気に入りブログ
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||