- - PR -
Windows Server 2003 からWebサービス呼び出し
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-08-11 14:27
はじめまして。
WEB開発初心者のリッツと申します。 今回自分の力では解決できず、 皆様のお力をお貸しください。 ★やりたいこと 旧ASP(.NETではない)からWebサービスを呼び出し、 オブジェクトの返却値を受け取りたい。 Webサービスからの返却値が独自のクラスとなっており、 単純にASPから呼び出しても返却値が受け取れませんでした。 そこでWebサービスを呼び出すexeをVB.NETで作成し、 ASP → EXE → Webサービスと呼びだそうとしています。 ローカルでは動いたのですが、2003 Serverでは動作せず、 以下のエラーメッセージが表示されます。 <エラーメッセージ> System.Configuration.ConfigurationErrorsException: 構成システムを初期化できませんでした。 ---> System.Configuration.ConfigurationErrorsException: 構成ファイルの読み込み中にエラーが発生しました。: アクセスが拒否されました。 ---> System.Security.SecurityException: アクセスが拒否されました。 場所 System.Security.Principal.WindowsIdentity.SafeImpersonate(SafeTokenHandle userToken セキュリティ関連とはわかっているのですが、どこをどのように設定したらよいのかわかりません。 どなたかご存じでしたら教えていただけないでしょうか? <今現在OKなこと> ・2003 Server上にあるexeを直接キックし、Webサービスを呼び出すのはOK ・ローカルマシーンに作成した仮想ディレクトリ配下のASPからの実行はOK <できないこと> ・2003 Serverに仮想ディレクトリを作成し、その配下のASPからの実行はNG またこのような質問版に初めて投稿するため、 情報不足かもしれません。 その際は仰ってください。 よろしくお願いします。 | ||||||||||||
|
投稿日時: 2008-08-12 13:51
独自クラスと言っても、シリアライズされてただのXML文書が送信されるわけですから・・・。 Soap Toolkitを使ってますか? 私だったら、Soap Toolkitでどうしても対応できない場合に、マネージDLL&COM相互運用を考えます。
マネージEXEなのがちょっと気になります。 マネージDLLを作ってアンマネージにCOM公開したほうがいいんじゃないかと思いますがどうでしょう。(COM相互運用)
マネージEXEがapp.configを読もうとしているのでしょうか。 マネージEXEを直接実行する場合は、ログオン中のユーザーアカウントで実行されますよね。 そして、ASPから実行の場合は、ASPの実行ユーザーアカウントで実行されますよね。こちらのユーザーアカウントに、app.configに対する読み取り権限が不足しているのかなと想像しますが、どうでしょう。 ローカルマシンでSecurityExceptionが出ないのは、知らず知らずのうちに読み取り権限が付与されているとか。 ご参考になればよいのですが。 |
1