QA@IT
この質問・回答は、@IT会議室からインポートされたものです。

WindowsアプリからWebサービスの実行

お世話になります。
VS.net 2005で開発を行っています。

C#でWindowsアプリケーションを作成する予定です。
そのWindowsアプリケーションでは、Webサービスを呼び出したいと考えています。

その際、Windowsアプリ側からWebサービスを実行する方法として、
「Web参照の追加」を行えば、Webサービスの参照、実行が可能である事は分かっているのですが、
実行するWebサービスを動的に指定する方法が分かりません。
(プログラム内で、実行するWebサービスを指定したい。)

初歩的な質問なのかも知れませんが、
お分かりになる方、ご教示頂ければと思います。

よろしくお願いします。

投稿者: yu

回答

動的にまったく異なった Web service を呼び出すってことは interface が違っている可能性もあるわけで、結局それぞれ異なる coding が必要になると思うんだけど。
そもそも異なる coding が必要なら proxy を生成した方が楽だと思うんだけどねぇ。

stab を生成せずに SOAP を扱うには SOAP Toolkit 3.0 を利用してやればできるみたいです。

Windows XP における SOAP クライアント概要


ちゃっぴの監禁部屋

投稿者: ちゃっぴ

編集 履歴 (0)

全く別なWebサービスの実行を行いたいと考えています。

全く別のレベルがよくつかめないんですが、インターフェースが違うと難しい(というかたぶん無理)ですけど。

URI指定じゃ駄目ってことですか?

投稿者: 囚人

編集 履歴 (0)

囚人さん
ちゃっぴさん

お返事ありがとうございます。

>それともまったく異なった Web service に接続したいのでしょうか?

全く別なWebサービスの実行を行いたいと考えています。
但し、環境はイントラネットで、実行されるWindowsアプリとWebサービスは、
全て同じPCに存在しています。
それでも、難しいのでしょうか?

Webの話では無いの、見当違いなのかも知れませんが、
例えば、
普通のVBのクライアントアプリ感覚であれば、
CreateObject等を使用し、オブジェクトの作成をして、
動的に呼び出す先を変更出来ると思います。
今回は、その感覚でWebサービスを呼び出したいのです。

投稿者: yu

編集 履歴 (0)

Web service の中身は一緒で別の URI に接続したいのですか?
それともまったく異なった Web service に接続したいのでしょうか?

前者なら、WSDL から生成した stab class の URL を差し替えるように coding してやればいいだけですけど、後者はそもそも難しいですね。


ちゃっぴの監禁部屋

投稿者: ちゃっぴ

編集 履歴 (0)

はっきりしたことは調べないと分からないのですが、Web参照したとき自動生成されるコードにURIを指定しているコードがあるはずです。
それと同じようにURIを指定すればできます。

投稿者: 囚人

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。