リンク
インターシステムズ(日) └日本語ドキュメント インターシステムズ(US) (有)エムブイビイ ダイナシステム(株) Googleグループ(英語) Googleグループ(日本語) George James Software cache'infoアーカイブ 【広告】
|
Cache' WebサービスにVB.Netから接続する.NetからCache'にアクセスする方法として、Webサービス(Soap)を使用する方法があります。 Webサービスは.Netに限らず、数多くのテクノロジと接続が可能なので、様々な利用法が可能です。 ここではこのWebサービスを使用してVB.NetからCache'にアクセスする方法を記します。
クラスの作成まずCache'でクラスを作成します。Managed Providerで使用したクラスを以下のように修正します。
コンパイルが成功したら、スタジオのメニューから「表示→ブラウザで表示」を選択します。ブラウザが起動し以下のような画面が表示されます。 このときブラウザのアドレスバーに表示されているUrlをコピーしておいてください。 (例:http://localhost:57772/csp/user/DotNet.Test.cls) GetHoroメソッドをテストするためGetHoroリンクをクリックします。表示された画面の[Invoke] ボタンをクリックしてください。 左のように$Hの値が表示され、正常に動作することが確認できます。 Visual Studio Soap接続設定Visual Studio を起動し、メニューからファイル→新しいプロジェクトを選択します。 表示されたダイアログから、Windowsアプリケーションを選択します。 ソリューションエクスプローラーからソリューションを右クリックし(左図の例ではWinodwsApplication2)、[Web参照の追加]を選択します。 [Web参照の追加]ダイアログが表示されます。URLに先ほどコピーしたUrlを貼り付け、後ろに?wsdlを追加して[Enter]を押します。(例:http://localhost:57772/csp/user/DotNet.Test.cls?wsdl) 正常にWebサービスを発見できると、以下のように表示されます。 [参照の追加]ボタンをクリックすると、[Web参照の追加]ダイアログが閉じ、下図のようにソリューションエクスプローラーにWeb Refernceが追加されます。
このWebRefernceを呼び出す処理を記述します。 このボタンのonClickメソッドとして以下の処理を記述します。
実際にWebサービスへアクセスしているのは、My.WebServices.Test.GetHoro() の部分です。 実際に動作させてみます。このように$Hの値が取得できました。 動作させてみると分かりますが、ボタンを押してからメッセージボックスが表示されるまで、1秒とまではいきませんが若干の時間がかかってしまいます。これはSoap通信がHTTPを使用して通信するため、直に通信する場合に比べてオーバーヘッドが多くなるためだと思われます。 若干動作が重くなりますが、クライアント側にCache'専用のコンポーネントが必要なくて済むので、プログラムの配布は大変楽になります。 ※本記述は Cache' 2008.2 / Visual Studio 2005 SP1 における動作です。バージョンによっては動作が記述と異なることがあります。 |