チュートリアル : Web サービスの間接的な接続の表現
更新 : 2007 年 11 月
Visual Studio Team System Architecture Edition では、ASP.NET Web サービス アプリケーションをクラス ライブラリのビジネス機能のファサードとして使用できます。分散システム デザイナでは、クラス ライブラリをアプリケーション ダイアグラム上で直接デザインまたは表現することはできません。ただし、ASP.NET Web サービス アプリケーションによってクラス ライブラリの動作を表現することはできます。
クラス ライブラリをアプリケーション ダイアグラム上で表現するには
アプリケーション ダイアグラムを開きます。
新しい ASP.NETWebService をダイアグラムに追加し、MyWebService という名前を付けます。.NET Web サービス エンドポイントに FirstWebService という名前を付けます。
これによって、クラス ライブラリのファサードの役割を果たす Web サービスが作成されます。
MyWebService を右クリックし、[アプリケーションの実装] をクリックします。
新しい ASP.NETWebApplication をダイアグラムに追加し、MyWebApplication という名前を付けて、実装します。
これによって、FirstWebService を介してクラス ライブラリの関数を使用するクライアント Web アプリケーションが作成されます。
MyWebApplication を右クリックし、[設定および制約] をクリックして設定および制約エディタを開きます。
[アプリケーションの設定]、[ディレクトリ]、[構成] の各ノードを展開します。
[NetSectionGroup] ノードを右クリックし、[リソースの追加] をポイントして、[SettingsSection] をクリックします。
このリソースを追加すると、ソリューション エクスプローラに Web.config ファイルが表示されます。
ソリューション エクスプローラで [ソリューション] ノードを右クリックし、[新しいプロジェクト] をクリックします。
[新しいプロジェクトの追加] ダイアログ ボックスが表示されます。
[プロジェクトの種類] の [Visual Basic] ノードまたは [Visual C#] ノードを展開し、[Windows] をクリックします。[テンプレート] の [クラス ライブラリ] をクリックし、[OK] をクリックします。
ソリューション エクスプローラにクラス ライブラリ プロジェクトが表示されます。
そのクラス ライブラリ プロジェクト ノードを右クリックし、[Web 参照の追加] をクリックします。
[Web 参照の追加] ダイアログ ボックスが表示されます。
[このソリューションの Web サービス] をクリックします。
[このソリューションの Web サービス] で [FirstWebService] をクリックし、[参照の追加] をクリックします。
FirstWebService の Web 参照がクラス ライブラリに追加されます。
クラス ライブラリ プロジェクトが選択された状態で、[ビルド] メニューの [<class library name> のビルド] をクリックします。
クラス ライブラリがビルドされ、クラス ライブラリ プロジェクトに App.config ファイルが追加されます。
ソリューション エクスプローラで [MyWebApplication] プロジェクト ノードを右クリックし、[参照の追加] をクリックします。
[参照の追加] ダイアログ ボックスが表示されます。
[プロジェクト] タブをクリックし、クラス ライブラリ プロジェクトをクリックして、[OK] をクリックします。
MyWebApplication にクラス ライブラリの参照が追加されます。
MyWebApplication プロジェクトの Web.config ファイルを開きます。
クラス ライブラリ プロジェクトの App.config ファイルを開きます。
App.config の <configSections> セクションをコピーし、Web.config に貼り付けます。このセクションは、次のように記述されています。
<configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="ClassLibrary1.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectionGroup> </configSections>
App.config の <applicationSettings> セクションをコピーし、Web.config の <configSections> の下に貼り付けます。このセクションは、次のように記述されています。
<applicationSettings> <ClassLibrary1.Settings> <setting name="ClassLibrary1_localhost_WebService1" serializeAs="String"> <value>https://localhost:1665/MyWebService/FirstWebService.asmx</value> </setting> </ClassLibrary1.Settings> </applicationSettings>
Web.config の先頭は、次のように記述されています。
<configuration xmlns="https://schemas.microsoft.com/.NetConfiguration/v2.0"> <configSections> <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > <section name="ClassLibrary1.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> </sectionGroup> </configSections> <appSettings> </appSettings> <applicationSettings> <ClassLibrary1.Settings> <setting name="ClassLibrary1_localhost_WebService1" serializeAs="String"> <value>https://localhost:1665/MyWebService/FirstWebService.asmx</value> </setting> </ClassLibrary1.Settings> </applicationSettings> <connectionStrings/> <system.web>
ソリューションをビルドし、アプリケーション ダイアグラムを表示します。
MyWebApplication にコンシューマ エンドポイントが表示されます。このコンシューマ エンドポイントは、MyWebService 上の FirstWebService エンドポイントに接続されます。このエンドポイントは、クラス ライブラリ プロジェクトの Web 参照から Web サービスへの接続を表しています。