Webサービスを呼び出すアプリケーション(サービス・リクエスタ)の作成 その2

 2.外部オブジェクトの利用

前回作成した外部オブジェクトを使ってWebサービスを呼び出す画面を作成します。
Webパネル上にユーザーID、パスワードを入力項目として配置し、実行ボタンでWebサービス・プロバイダーを呼び出します。





2-1.Webパネルを新規作成します。




2-2.ID、パスワード、外部オブジェクトを変数宣言します。




2-3.画面にID、パスワードの変数を貼り付けます。




2-4.実行ボタンのEnterイベントに以下のコードを記述します。


Event Enter
   If &LoginProcSVC.Execute(&UserId, &UserPassword)
      Msg('ログインに成功しました。')
   Else
      Msg('ログインに失敗しました。')
   Endif
EndEvent

以上で完了です。

ビルド・実行してみましょう。前回作成したユーザートランザクションにはあらかじめデータを登録しておいてください。

Webパネルを実行したところ

ユーザートランザクションに存在するユーザーIDと
パスワードを入力し、実行ボタンをクリック。
外部オブジェクト(Webサービス)の実行結果を判定し
成功メッセージが表示されています。

ユーザートランザクションに存在しないユーザーIDと
パスワードを入力し、実行ボタンをクリック。
エラーとなりました。



如何でしょうか? 外部オブジェクトという仕組みとWSDLインポートウィザードのおかげで、とても簡単にWebサービスを呼び出すアプリケーションが作成できました。
システム開発プロジェクトにおいては、例えば外部オブジェクトをアプリケーション基盤担当が作成・メンテナンスする事になれば、業務機能担当はWebサービスやSOAPプロトコル等の知識は必要なく、あたかもGeneXusのオブジェクトを利用するみたいに記述するだけで実装できるのです。



外部オブジェクトに関しては、Webサービスの他にストアドプロシージャやネイティブライブラリ(.netアセンブリやJavaクラス)なども呼び出す事ができます。これに関してはまたの機会に。


コメント

このブログの人気の投稿

データプロバイダーを使いこなそう - 応用編その4 スケジューラー 補足編

HTMLヘッダーにあれこれ直接追加したいとき

GeneXusにおけるWebアプリケーションセキュリティ対策 - OWASP 2010 Top10 Security Risks in GeneXus Applications