第3回 Webサービス・クライアントを作ろう
中林 紀彦
日本アイ・ビー・エム株式会社
2003/1/28
Webサービスを使ったWebアプリケーション
ここまでの例では、Formを使ってWebサービスのGUIクライアントを作ってきました。ここからは、Webサービスを利用するWebアプリケーションを作成してみましょう。Webアプリケーションについては第2回も参考にしてください。
■アプリケーションの作成
Webアプリケーションとして作成するには、[ファイル]−[新規作成]−[その他]の[新規作成]タブで、「Webサーバーアプリケーション」を選択します。
画面9 [新規作成]ダイアログの[新規作成]タブ |
実行形式はApache DSOモジュールを選びます。これは第2回と同じです。プロジェクトが生成されたら、[ファイル]−[すべて保存]でユニットとプロジェクトをそれぞれUnit1.pas、TempDSO.dprとして保存します。
次に、TempDSO.dprのApacheのモジュール名を以下のように変更します。
exports |
ここで変更した「Temp_module」は、後のApahceの設定で使用します。
[プロジェクト]−[プロジェクトに追加]で、先ほど作成した「TemperatureService.pas」と「temperature.pas」をプロジェクトに追加します。さらに、Unit1.pasでこの2つのユニットが利用できるように、[ファイル]−[ユニットを使う]でこれらのユニットを追加します。
uses temperature, TemperatureService; ←Unit1.pasの21行目 |
SOAPを利用するために、HTTPRIOコンポーネントを2つ(HTTPRIO1、HTTPRIO2)ドロップし、それぞれのプロパティを以下のように設定します。
HTTPRIO1 | ||
WSDLLocation | : | http://www.xmethods.net/sd/2001/TemperatureService.wsdl |
Service | : | TemperatureService |
Port | : | TemperaturePort |
HTTPRIO2 | ||
WSDLLocation | : | http://www.wimdows.net/webservices/temperature.asmx?WSDL |
Service | : | Temperature |
Port | : | TemperatureSoap |
次に、オブジェクトツリーで[Actions]を右クリックし、[項目の追加]を選択してアクションを追加します。オブジェクトインスペクタでWebModule1.Actions[0]のPathInfoプロパティを「/Temp」、Defaultプロパティを「True」に設定します。次にイベントのタブでOnActionをダブルクリックし、イベントを記述します。
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject; |
変数を追加
response.Contentでブラウザに表示するコンテンツを指定。また、Copyメソッドで表示する気温の文字数を5文字にしている
コーディングが終わったら、[プロジェクト]−[TempDSOをコンパイル]でプロジェクトをコンパイルします。コンパイルが正常に終了すると、libTempDSO.soというApacheのDSOライブラリが作成されます。
■Apacheの設定とアプリの実行
Apacheのインストールや初期設定は済んでいるものとします。詳細に関しては第2回を参照してください。
作成したlibWebDB2.soを/usr/local/apache/libexecへコピーします。次に、/usr/local/apache/conf/httpd.confを編集し、以下を追加します(デフォルトで205行目辺り)。
LoadModule Temp_module libexec/libTempDSO.so |
httpd.confの設定が終わったら、次のコマンドでhttpd.confのテストを行います。
# /usr/local/apache/bin/apachectl configtest |
これで「Syntax OK」が返ってくれば問題ありません。次のコマンドでApacheを再起動します。
# /usr/local/apache/bin/apachectl restart |
再起動したら、Webブラウザで次のURLにアクセスしてみましょう。
http://localhost:8080/Temperature |
画面10 完成したWebサービス・クライアント |
画面10のように表示されたでしょうか? Kylixを使うと、Webサービス・クライアントを簡単に作成することができます。
次回はいよいよ最終回です。Webサービスを提供するWebサービス・プロバイダをKylixとDB2を使って作成する方法をご紹介したいと思います。
3/3
|
|
|
||||||
|
連載 Kylix 3とDB2で作るWebサービス・アプリ |
Linux Squareフォーラム プログラミング関連記事 |
特集:オブジェクト指向に生まれ変わるPHP5[前編] 現在開発中のPHP5は、オブジェクト指向機能が大幅に強化される。次世代PHPはどのような言語になるのか? |
|
特集:Windows開発者に贈る
Kylixの全貌 注目の開発環境「Borland Kylix」がいよいよ見えてきた。ここに、英語版の発売を目前に控えたKylixの機能やアーキテクチャを紹介しよう |
|
特集:Kylixプログラミング作法 GUIの構築やコンポーネントとコードの関係、 Object Pascalの仕様など。 これらの点を、実際に日本語ベータ版でプログラミングしながら分かりやすく解説 |
|
連載:PHP4で作るWeb-DBシステム(全5回) PHPはWebサーバとデータベースを結びつけるものだ。そのためPHPでの開発を開始するには、OS、データベース、Webサーバ、そしてPHPと、多くのソフトウェアのインストールを行う必要がある |
|
連載:ステップ・バイ・ステップ・シェルスクリプト(全7回) Linuxの中でシェルスクリプトはネットワークの設定、デーモンの起動など重要な役割を果たしている。この連載では、シェルスクリプトで実用的なプログラムを組むことを目標にして、シェルの基本的な知識を説明する |
|
連載:Kylix
3とDB2で作るWebサービス・アプリ(全5回) Kylix 3とDB2 V8.1を使って、Webサービス・アプリを作ってみよう。トライアル版も用意されているので、実際に試しながら読んでほしい |
|
|
- 【 pidof 】コマンド――コマンド名からプロセスIDを探す (2017/7/27)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、コマンド名からプロセスIDを探す「pidof」コマンドです。 - Linuxの「ジョブコントロール」をマスターしよう (2017/7/21)
今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です - 【 pidstat 】コマンド――プロセスのリソース使用量を表示する (2017/7/21)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、プロセスごとのCPUの使用率やI/Oデバイスの使用状況を表示する「pidstat」コマンドです。 - 【 iostat 】コマンド――I/Oデバイスの使用状況を表示する (2017/7/20)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、I/Oデバイスの使用状況を表示する「iostat」コマンドです。
|
|