- PR -

動的にWebサービスをスイッチする方法は?

1
投稿者投稿内容
GUNNM
常連さん
会議室デビュー日: 2002/01/23
投稿数: 30
お住まい・勤務地: 横浜
投稿日時: 2002-02-28 23:54
突然本題で失礼いたします。

同じ機能を提供する同じインターフェースで定義された複数のWebサービスを
1つのクライアントで切り替えて利用したいと考えています。

こういった場合、VS.NETが勝手に作ったプロクシクラスをカスタマイズし、
使いまわして、動的に接続先を変更するというのは、可能なのでしょうか?
また、妥当な方法でしょうか?

たとえば、XMLなどでWebサービスのURIを記述しておいて、それを読み取って選択するUIを作成し、利用者がUIでWebサービスを選択することは、上記手法で可能でしょうか?


NothingBut.NETFX
大ベテラン
会議室デビュー日: 2001/09/13
投稿数: 102
投稿日時: 2002-03-01 11:01
引用:

こういった場合、VS.NETが勝手に作ったプロクシクラスをカスタマイズし、
使いまわして、動的に接続先を変更するというのは、可能なのでしょうか?
また、妥当な方法でしょうか?

たとえば、XMLなどでWebサービスのURIを記述しておいて、それを読み取って選択するUIを作成し、利用者がUIでWebサービスを選択することは、上記手法で可能でしょうか?



まったく妥当だと思います。VS.NETが作ったプロキシクラスは、System.Web.Services.Protocols.SoapHttpClientProtocolから派生しますので、Urlプロパティを持っています。これをプログラムで書き換えれば、接続先を変更できます。スキームを「https」と書くだけでSSLにも対応しますので、なかなか便利です。

.NET FrameworkのWSDL生成機能は、1つのWSDLしか作ってくれませんが、Java系のWSDL吐き出しツールの中には、インターフェイスにかかわる部分が書いてあるWSDLと、その実装の情報(サービスのエンドポイントURL)が書いてあるWSDLとを分けて生成するものがあります。これなんかはまさにおっしゃられている機能を想定しているものと思われます。
autumn
大ベテラン
会議室デビュー日: 2001/07/27
投稿数: 215
投稿日時: 2002-03-01 12:48
 ちなみに、ここにUrlプロパティを変更するサンプルソースあります。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=364&forum=7&8
_________________
GUNNM
常連さん
会議室デビュー日: 2002/01/23
投稿数: 30
お住まい・勤務地: 横浜
投稿日時: 2002-03-03 00:47
NothingBut.NETFXさん、autumnさん
レスポンス感謝します。

この考え方を使えば、加盟店を後から追加できるショッピングモールサイトなんかを作るのが楽かな、、、、などと考えております。またなにかあったらよろしくお願いいたします。
_________________
GUNNM でした。
1

スキルアップ/キャリアアップ(JOB@IT)