- PR -

Windows Server 2003 からWebサービス呼び出し

1
投稿者投稿内容
リッツ
会議室デビュー日: 2008/08/11
投稿数: 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

またこのような質問版に初めて投稿するため、
情報不足かもしれません。
その際は仰ってください。

よろしくお願いします。
かめたろ
ぬし
会議室デビュー日: 2003/03/20
投稿数: 255
投稿日時: 2008-08-12 13:51
引用:

リッツさんの書き込み (2008-08-11 14:27) より:
Webサービスからの返却値が独自のクラスとなっており、
単純にASPから呼び出しても返却値が受け取れませんでした。


独自クラスと言っても、シリアライズされてただのXML文書が送信されるわけですから・・・。
Soap Toolkitを使ってますか?
私だったら、Soap Toolkitでどうしても対応できない場合に、マネージDLL&COM相互運用を考えます。

引用:

そこでWebサービスを呼び出すexeをVB.NETで作成し、
ASP → EXE → Webサービスと呼びだそうとしています。


マネージEXEなのがちょっと気になります。
マネージDLLを作ってアンマネージにCOM公開したほうがいいんじゃないかと思いますがどうでしょう。(COM相互運用)

引用:

<エラーメッセージ>
System.Configuration.ConfigurationErrorsException: 構成システムを初期化できませんでした。
---> System.Configuration.ConfigurationErrorsException: 構成ファイルの読み込み中にエラーが発生しました。: アクセスが拒否されました。
---> System.Security.SecurityException: アクセスが拒否されました。
場所 System.Security.Principal.WindowsIdentity.SafeImpersonate(SafeTokenHandle userToken

セキュリティ関連とはわかっているのですが、どこをどのように設定したらよいのかわかりません。


マネージEXEがapp.configを読もうとしているのでしょうか。
マネージEXEを直接実行する場合は、ログオン中のユーザーアカウントで実行されますよね。
そして、ASPから実行の場合は、ASPの実行ユーザーアカウントで実行されますよね。こちらのユーザーアカウントに、app.configに対する読み取り権限が不足しているのかなと想像しますが、どうでしょう。

ローカルマシンでSecurityExceptionが出ないのは、知らず知らずのうちに読み取り権限が付与されているとか。

ご参考になればよいのですが。
1

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