- PR -

スマートクライアントからのWebサービス呼出

投稿者投稿内容
みつん
大ベテラン
会議室デビュー日: 2004/05/21
投稿数: 100
投稿日時: 2005-06-09 12:38
壱丸3さん、色々ありがとうございます。

結果としてはまだうまくいっておりません。
でももう少しな気がしています。

ひとつ確認させてください。
スマートクライアントを配置する仮想ディクレトリの中なんですが、

スマートクライアントのEXE、EXEが参照しているDLL、そして
app.configファイルのみでよろしいのでしょうか?
VSを使用しているとWebサービスのプロキシが入っているWeb Referencesフォルダが
作成されますがそれもコピーしておかなければならないのでしょうか?
ここでハードコーディングされているWebサービスの参照URLの設定が、app.config
をおいておく事で無効になるということなのでしょうか?
あと、ダイナミック設定をするとXXXX.exe.configも自動的に作成されますが、
これはこのファイルを仮想ディレクトリにコピーしなければ、app.configの方を
見るということでよろしいでしょうか?

ひとつじゃなくなってしまいましたね・・・。
色々お手数をおかけしますが、よろしくお願いいたします。
壱丸3
常連さん
会議室デビュー日: 2004/09/13
投稿数: 34
投稿日時: 2005-06-09 13:18
VS.NETで作成したapp.configは開発中に編集する為の構成ファイルです。
ビルドすることでapp.configは出力パスに、exe名.configとして作成・更新されます。
よって、app.configというファイルはexeの実行時には不要です。
(あっても無視されます。)

基本的に出力パスに作成されたファイル、
〜.exe
〜.exe.config
と、他のアセンブリを参照しているのであれば、
それらのアセンブリが然るべき場所にあれば問題ないと思います。

WebReferencesフォルダもVS.NETによって
自動生成されるWebサービスプロキシクラスに関するソースが
格納されているだけですので実行環境には不要です。
みつん
大ベテラン
会議室デビュー日: 2004/05/21
投稿数: 100
投稿日時: 2005-06-09 13:59
壱丸3さん、度々ありがとうございます。

引用:

壱丸3さんの書き込み (2005-06-09 13:18) より:
基本的に出力パスに作成されたファイル、
〜.exe
〜.exe.config
と、他のアセンブリを参照しているのであれば、
それらのアセンブリが然るべき場所にあれば問題ないと思います。

WebReferencesフォルダもVS.NETによって
自動生成されるWebサービスプロキシクラスに関するソースが
格納されているだけですので実行環境には不要です。



まだ接続がうまくいきません。
プロキシクラスの情報もexeに入っていると考えてよいのでしょうか?
数年前、Webサービスを作成したときは、プロキシクラス用の仮想ディレクトリを
作成したような記憶がありました。うる覚えですが。でも、必要ないのですね?

現在、〜.exeファイル、〜.pdbファイル、参照しているdllファイル,
そして〜.exe.configファイルのみを置いています。
Webサービスは以前からサーバに配置されている別の仮想ディクレトリのまま、
何も変更していません。
exe.configでは、サーバのWebサービスの仮想ディクレトリ内のasmxを指定しています。

これでうまくいかないとなると、ちょっと行き詰まりでしょうか??
壱丸3
常連さん
会議室デビュー日: 2004/09/13
投稿数: 34
投稿日時: 2005-06-09 14:06
引用:
まだ接続がうまくいきません。


とは、どううまくいかないのですか?
投稿時と同一の例外が発生しているのですか?

以前と違う例外が発生しているのであれば、
その例外クラス名、例外メッセージ等、
を教えていただかないと何とも答えようがありません。
みつん
大ベテラン
会議室デビュー日: 2004/05/21
投稿数: 100
投稿日時: 2005-06-09 14:11
説明不足ですいませんでした。

やはり同じSystem.Net.WebExceptionが出ています。
デバッガをあげたところ、"元になる接続が閉じられました。
リモートサーバに接続できません"というメッセージがでました。

そして、やはりWebサービス呼び出しのないEXEはクライアントからも
起動できます。

みつん
大ベテラン
会議室デビュー日: 2004/05/21
投稿数: 100
投稿日時: 2005-06-09 15:07
やっと、やっと起動する事ができました!
あれから開発マシンで、全てのWeb参照を削除し、参照追加、ダイナミック設定、
コンパイル等、一からやり直してみました。
一部EXEに、使用していないWebサービスを参照している箇所があったのでそれも削除
しました。(これは原因になるのでしょうか?)

これらを実行後、IISを再起動しクライアントにてサーバ上のEXEのURLを参照すると
きちんと起動ができました。
う、うれしい・・・。

壱丸3さん、他の方々にも色々アドバイスを頂き本当にありがとうございました。
特に壱丸3さんには、長らくお付合いいただきとても感謝しております。

初めてのスマートクライアントでしたが、とても勉強になりました。
ありがとうございました!



壱丸3
常連さん
会議室デビュー日: 2004/09/13
投稿数: 34
投稿日時: 2005-06-09 16:39
引用:
壱丸3さん、他の方々にも色々アドバイスを頂き本当にありがとうございました。
特に壱丸3さんには、長らくお付合いいただきとても感謝しております。


いえいえ。おつかれさまでした。

ノータッチデプロイメントは、まだまだ情報源が少ないので難しいですよね。
私もつまづいてばかりでその度に調査の時間を取られ四苦八苦してました^^;

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