方法 : アプリケーション ダイアグラムで Web サービスを置換する
更新 : 2007 年 11 月
アプリケーション デザイナでは、ASP.NET アプリケーションの Web サービスと別の Web サービスに互換性がある場合、その Web サービスを別の Web サービスで置換できます。互換性のある Web サービスとは、操作が同じで、置換対象の Web サービスと同じメッセージを処理できるサービスです。BizTalk Web サービスと同様に、互換性のある外部の Web サービスどうしを置換することもできます。詳細については、「アプリケーションのエンドポイントの概要」を参照してください。
メモ : |
---|
共通する規約は、[WSDL バインド名] プロパティと [WSDL バインドの名前空間] プロパティを使用して、特定バージョンの Web サービスを定義することです。アプリケーション デザイナでは、WSDL バインディング名と WSDL バインディング名前空間が一致しない Web サービス エンドポイントに接続すると、警告が表示されます。ただし、基になるエンドポイントの種類に互換性がある場合は、そのエンドポイントと接続できます。これは、基になる ASP.NET インフラストラクチャで許可されているためです。許可されている理由の 1 つは、別の WSDL バインディング名または WSDL バインディング名前空間で指定された新しいバージョンの Web サービスで、旧バージョンとの互換性が保たれるためです。ただし、エンドポイント間の WSDL バインディング名と WSDL バインディング名前空間が一致する場合でも、置換する Web サービスに実際に互換性があることを確認します。 |
互換性のある Web サービスを作成するには、複数の手法があります。
Web サービス プロバイダ エンドポイントを別の ASP.NET アプリケーションにコピーし、元の Web サービスを置換するコピーにします。
すべてのエンドポイントでアプリケーションをコピーし、すべてのエンドポイント (プロバイダとコンシューマ) で元のアプリケーションを置換するアプリケーションにします。
置換対象のエンドポイントと同じ動作が定義されているエンドポイントで、カスタムのアプリケーション プロトタイプを作成します。
プロトタイプから作成されたアプリケーションは、いずれも相互に置換できます。詳細については、「方法 : 構成済みのアプリケーションとエンドポイントからカスタム プロトタイプを作成する」を参照してください。
ただし、この手法では、完全に互換性のある Web サービスを作成できないことがあります。特に、WSDL ファイルまたは .disco ファイルから実装または作成したユーザーが定義した型を含む、Web サービス プロバイダ エンドポイントがソースにある場合はそれに該当します。詳細については、「WSDL ファイルに基づいた Web サービス エンドポイント」を参照してください。このようなエンドポイントの代替のエンドポイントを作成する場合、次の手法に従ってください。
置換対象の既存 Web サービス プロバイダのエンドポイントに関連付けられている WSDL ファイルから、代替の Web サービス プロバイダ エンドポイントを作成します。
この手法では、元のエンドポイントと互換性のある代替のエンドポイントが作成されます。
異なる ASP.NET アプリケーションで、1 つの Web サービスに関連付けられている同じ WSDL ファイルから、代替の Web サービス プロバイダ エンドポイントを作成します。
この手法では、各エンドポイントに互換性があり、相互に置換できるようになります。
詳細については、「方法 : エンドポイントをアプリケーションに追加する」を参照してください。
また、同じ Web サービス プロバイダ エンドポイントに関連付けられている Web サービス コンシューマ エンドポイントを作成することで、互換性のある Web サービスを置換することもできます。このようなコンシューマ エンドポイントを作成するには、同じコンシューマ エンドポイントをコンシューマ アプリケーションにコピーするか、コンシューマ アプリケーションを同じ Web サービス プロバイダ エンドポイントに接続します。この手法では、各コンシューマ エンドポイントは相互に置換できるようになり、別の互換性のある Web サービス実装に接続できます。詳細については、「方法 : アプリケーション ダイアグラムでアプリケーションを接続する」を参照してください。
以下の手順では、互換性のある Web サービスを作成する手法を 2 つ説明しています。最初の手順では、未実装の Web サービス プロバイダ エンドポイントから、互換性のある Web サービスを作成する方法について説明します。2 つ目の手順では、実装済みの Web サービス エンドポイントから、互換性のある Web サービスを作成する方法について説明します。
未実装の Web サービス プロバイダ エンドポイントから互換性のある Web サービスを作成するには
アプリケーション ダイアグラムで、代替アプリケーションとして ASP.NET アプリケーションを定義するか、既存の ASP.NET アプリケーションを選択します。
ヒント : ASP.NET アプリケーションを定義するには、「方法 : アプリケーション ダイアグラムでアプリケーションを定義する」を参照してください。
未実装の元の ASP.NET アプリケーションから、アプリケーションを置換する Web サービス プロバイダ エンドポイントをコピーします。
元のエンドポイントのコピーは、代替のアプリケーションに表示されます。このコピーは、元のエンドポイントと名前、操作インターフェイス、WSDL バインディング名、および WSDL バインディング名前空間が同じです。
元のエンドポイントから該当する接続を解除します。
接続を解除したコンシューマ アプリケーションを、代替エンドポイントに再接続します。
ヒント : 詳細については、「方法 : アプリケーション ダイアグラムで Web サービスに再接続する」を参照してください。
実装済み Web サービス プロバイダ エンドポイントから互換性のある Web サービスを作成するには
アプリケーション ダイアグラムで、元の Web サービス プロバイダ エンドポイントを含む ASP.NET アプリケーションが実装されていることを確認します。
ヒント : 詳細については、「方法 : アプリケーション ダイアグラムでアプリケーションを実装する」を参照してください。
代替アプリケーションとして、ASP.NET アプリケーションを定義するか、または既存の ASP.NET アプリケーションを選択します。
ヒント : 詳細については、「方法 : アプリケーション ダイアグラムでアプリケーションを定義する」を参照してください。
代替アプリケーションを選択し、[ダイアグラム] メニューの [実装] をポイントして、[WSDL から .NET Web サービス エンドポイントを作成] をクリックします。
[Web 参照の追加] ダイアログ ボックスが表示されます。
[Web 参照の追加] ダイアログ ボックスの [このソリューションの Web サービス] をクリックし、代替の Web サービスを作成する Web サービスをクリックします。
ヒント : ソリューションの Web サービスを検索する代わりに、[Web 参照の追加] ダイアログ ボックスの [URL] ボックスで WSDL ファイルの位置を入力することもできます。元のエンドポイントの [WSDL の場所] プロパティで、関連する WSDL ファイルの位置を指定します。
[Web 参照の追加] ダイアログ ボックスには、選択した Web サービスとその操作方法を説明するページが表示されます。
[参照の追加] をクリックします。
代替アプリケーションに、名前、操作インターフェイス、WSDL バインディング名、WSDL バインディング名前空間が元のエンドポイントと同じ Web サービス プロバイダ エンドポイントが表示されます。
元のエンドポイントから該当する接続を解除します。
接続を解除したコンシューマ アプリケーションを、代替エンドポイントに再接続します。
メモ : 詳細については、「方法 : アプリケーション ダイアグラムで Web サービスに再接続する」を参照してください。