- - PR -
実機にて、スマートクライアントのWeb参照の扱い
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-10-17 17:42
ブラウザに
http://webserver/test/Services.asmx を入れて何か見えますか? (GETの要求を不可にしていたら見えないんだったかな。でもまだしてないはず) | ||||||||
|
投稿日時: 2005-10-18 22:01
返答ありがとうございますm(_ _)m。 他のトピック等を調べながら、これで進展っと行きたい所だったのですが、 Web参照がどうしてもできませんでした。 URLに直接指定すると、サーバのメゾットの一覧が表示されるのでしょうか? 直接指定したらアプリケーションエラーになります。 エラー詳細のモード設定があったので、web.configで指定したのですが 表示は変わりませんでした。 Web開発のベースが、Java+strutsで、Web-Inf以下は 外部から見れなかった記憶があるのですが・・・。 サーバ側で何か設定をしないと駄目なのでしょうか? それから、サーバサイドのWebサービスのプロジェクトを サーバサイドにそのまま置いたのですが(ビルド済み) それがまずいのでしょうか? | ||||||||
|
投稿日時: 2005-10-19 09:38
はじめまして、taka-uです。
私は、C#を利用し、ノータッチデプロイメントでサーバへのWEB参照を 行っています。(WEBサービスもC#で作成しています。) サーバ側での設定として、IISの設定画面から サーバにおいてあるWEBサービスをアプリケーションとして作成する 必要があると思いますが、こちらはされていますか? (IISの設定しかわからないのですが・・・) ただ、私も、あまり詳しくないので私の利用している環境内のレベルでしか 説明ができなくて申し訳ないのですが・・。 | ||||||||
|
投稿日時: 2005-10-19 18:46
さくさん、こんばんは。
そのまま置いた、というのがどういう状況なのか判りませんが、ASP.NET Webサービス プロジェクト の配置については、IDE のメニュー、またはソリューションエクスプローラのツールボタンで「プロジェクトのコピー」を実行するか、あるいは「Web セットアップ プロジェクト」をソリューションに追加して インストーラ を作成するという方法も考えられます。 手っ取り早いのは「プロジェクトのコピー」ですが、Windows のフォルダ共有、または FromtPage のWeb発行を利用しますので、DMZ に配置されたサーバなど、状況によっては使えない場合もあります。 | ||||||||
|
投稿日時: 2005-10-19 21:14
返答ありがとうございます。
職場から掲示板に書き込みができず、 帰宅してからの書き込みとなってしまいます。 サーバへのコピーは、エクスプローラから単純にコピーしているだけでした。 明日試してみたいと思います。 それから、IEのURLに直接サーバのファイルを指定する方法ですが、 root/WebService/Service.asmx では見れず、 root/Service.asmxでは見れる事が分かりました。 メゾットの一覧が表示されてました。 WebServiceのフォルダがなぜ見れないのかが分からないのですが・・・。 ご教示下さい。 上記の問題が解決していないのですが、本日出たエラーで 下記のようなエラーがありました。 Webブラウザからクライアント用のEXEファイルを実行 ダウンロード後、実行ボタンをクリックすると フォームが表示されるのですが、フォームのボタンを実行すると System.Web.Services.Protocols.SoapException: サーバーは要求を処理できません でした。 --> ファイルまたはアセンブリ名 ev7eel3l.dll、またはその依存関係の 1 つが見つかりませんでした。 たるエラーがでます。 また、上記でダウンロード後、実行ではなく保存してから 実行すると、下記のようなエラーがでました。 System.InvalidOperationException: キー 'XXXSvr.Service1' が appSettings 構成セクションに存在しません。 これは、WebサービスのURLをapp.configに指定して プログラム内で動的に取得するようにしたためです。 app.exe.configファイルがあるのですが、これはダウンロードしていないから 当然みれないなっと思ったのですが、 app.configにサーバのURLを指定する方法って間違っているのでしょうか? プログラムソースで固定でURLを持たせたくないのと デバッグでローカルとサーバを入れ替えるのが面倒という思惑があったのですが・・・。 一度に質問を書き込んでしまいましたが宜しくお願いします。 | ||||||||
|
投稿日時: 2005-10-19 21:22
追加質問なのですが、 Web参照は、「ノータッチデプロイメント」でないと駄目なのでしょうか? 調べたのですが、DLLを作成後、IIS設定で仮想ディレクトリに DLLとEXEをコピーすると思うのですが、 これが、Web参照とどうつながるのか疑問に思っています。 基本的な質問ですが、宜しくお願いします。 | ||||||||
|
投稿日時: 2005-10-19 22:40
Web サービスに対してどこまでご理解されていますか?(といっても私も詳しくないですが)
まずは単純な問題から整理していきましょう。
IIS の仮想ディレクトリの設定はどうしていますか?
とりあえず、ノータッチデプロイメントは置いておいて、テスト的にローカルで Windows アプリケーションでも作って、Web サービスを呼び出す感じを掴んでみて下さい。 クライアントアプリケーション(今回の場合はノータッチの exe)と Web サービスを一緒に作っているから混乱しているのでしょう。切り離してください。 root/Service.asmx 。 これでサービスの場所は分かりましたね。 まずは、先にも言った様に、簡単な呼び出しを行うだけの Windows アプリケーションを作ってください。 Web 参照は必ずローカルを使わないように。きちっと URL を入れてください。この時点では構成ファイルも忘れてください。後でいくら変更できます。 ここまでやったら、何となく分かって一気に解決するかもしれません。 | ||||||||
|
投稿日時: 2005-10-20 22:12
お世話になっております。
本日の作業で確認したのは、 プロジェクトのコピーでブラウザから、 root/WebService/Service.asmxのような階層でも 見れるようになったこと。見れる理屈は理解できました(汗 それから、クライアントプロジェクトのWeb参照をやめて 普通の参照でサーバ側プロジェクトを参照設定にし、ビルド。 サーバークライアント間で動作確認したところ、 動いているのを確認しました。でもこれは、オラクルデータベースに アクセスするとエラーになりました。 調査した結果、クライアントプロジェクトをビルドした時に生成された サーバプロジェクトのDLLとやり取りしてて、 サーバ側とはやり取りしていなかったから、問題外でした・・・。 Web参照の箇所を実装する時に、何かをしなければいけないと 感じているのですが、何をすればいいのか検討がつきません。 ちなみに、Web参照の設定で実装した時に 「SoapException XXXX.dll 依存関係 1つ見つけられませんでした。」 のようなエラーがでます。 (帰宅後、書き込みしているのでエラーメッセージの記憶がうつろですが・・・。) 以上、本日は進展と言えば進展したというか、しかし結局できないままです。 サーバ側のIISの設定(アクセス権)とかを疑っているのですが・・・。 サーバ側(他Webシステムが動作しているため)をいじれないので、 確認できないままです。 |