II7では、WCF/asp.netベースのAPIをホストしています。従来のaspアプリケーションのユーザーがAPIに接続できるようにするために、我々は「トランスポート」と呼ばれるバージョンを公開しなければなりませんでした。このトランスポートバージョンはasp.netでも書かれていますが、同じアセンブリを指しています。そのセキュリティ層は古典的なASPが認証できるように異なっています。トランスポートレベルのセキュリティは、メッセージベースのセキュリティとは対照的に使用されます。クラシックASP "メッセージのセキュリティを確認するときにエラーが発生しました。" iis7トランスポートレベルセキュリティ
ブラウザを使用してサービス参照をロードすると、svcutil.exe ... WDSLページを読み込むことができます。この参照からのWebメソッドを呼び出すために私のテストASPページを使用する場合
私は次のように返されます:
は、Webサービスを呼び出して完成。 ステータス=内部サーバーエラー ResponseText = a:メッセージのセキュリティを検証する際にInvalidSecurityAnエラーが発生しました。
これは、認証が失敗していることを示しています。 asp.netまたはアプリケーションWCFの嵐を使用して通常のAPIに連絡するテストは、すべてうまくいきます。
APIは最近移行されましたが、何かが正しく設定されていないように見えますが、何を説明するのか迷っています。
私はsvcutil.exe ... WDSLサービス参照をブラウズすることができます。ブラウザを使用してそれを選択すると、期待するXML応答が得られます。
利用されたユーザー名とパスワードは、メッセージベースのsecuirtyを使用してAPIの非古典的なASP公開を使用する場合に機能します。
問題の診断に役立つトラブルシューティングのヒントを投稿することは可能でしょうか?具体的には、トランスポートレベルのセキュリティ違反の発見とセットアップについてどうぞ。
は、次の更新を追加するように編集
スコット
あなた ありがとう:は、デフォルトのアプリケーションプールと新しいアプリケーションプールを使用しようとしましたが、同じ問題が解消されません。
私のテストページのエラー:ResponseText = a:メッセージのセキュリティを検証する際にInvalidSecurityAnエラーが発生しました。
IIS LOGは示しています V3 /輸送/ testclassicasptransportwcfservice.asp(200 0 0)(すなわち、200 IIS) /V3/Transport/DeviceService.svc/DeviceService(500 0)(すなわち、エラー500をIIS)
注:TRANSPORTとV3に定義された仮想ディレクトリ。 V3は、古典的なaspとは対照的に.netを使って認証します。
イベントログ: 次のエラーが原因で、アプリケーションプール 'transport'のテンプレート永続キャッシュ初期化に失敗しました。アプリケーションプールのディスクキャッシュサブディレクトリを作成できませんでした。データに追加のエラーコードが含まれている可能性があります。
この参照は修正を示唆していますが、 "appcmd"内のDIRパスと参照の多くは存在しません。
_HTTP://theether.net/kb/100127