私は過去数週間前にこの問題に遭遇しました、そして私はまだ理由を理解することができません。
BizTalkメッセージを受信して処理し、最終的にファイルに書き込むBizTalkオーケストレーションがあります。簡単にするために、たとえば、私たちの目標は、メッセージ(実際には調査です)を取得して、そのままフォルダーに保存することです。メッセージをキャッチするためのパブリック受信ポートと、結果をディスクに書き出すための送信ポートを作成しました。
プロジェクトを正常に展開し、IISに正常に公開しました。IISでWCFサービスを確認し、Framework4.0を使用するように設定しました。関連するすべての受信ポートと送信ポートを設定し、BizTalk管理コンソールからアプリケーションを正常に起動しました。(受信場所は、wcfサービスを公開したときに自動的に作成されました。送信場所は、コンピューターのフォルダーにあるタイプFILEです)
IISのDefaultSiteから、WCFを確認できました。ただし、試してみるhttp://localhost/TestSurvey/TestSurvey_Orchestration_1_getSurveyPort.svc,
と、次のエラーが発生しました。
Server Error in '/TestSurvey' Application.
--------------------------------------------------------------------------------
Login failed for user 'Domain\ComputerName$'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.SqlClient.SqlException: Login failed for user 'ACAD1\DENBIZDEV$'.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SqlException (0x80131904): Login failed for user 'Domain\ComputeName$'.]
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
Microsoft.BizTalk.TransportProxy.Interop.IBTTransportProxy.RegisterIsolatedReceiver(String url, IBTTransportConfig callback) +0
Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfIsolatedReceiver`2.RegisterIsolatedReceiver(Uri uri) +1028
Microsoft.BizTalk.Adapter.Wcf.Runtime.WebServiceHostFactory`3.CreateServiceHost(String constructorString, Uri[] baseAddresses) +363
System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +1413
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +50
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +1172
[ServiceActivationException: The service '/TestSurvey/TestSurvey_Orchestration_1_getSurveyPort.svc' cannot be activated due to an exception during compilation. The exception message is: Exception has been thrown by the target of an invocation..]
System.Runtime.AsyncResult.End(IAsyncResult result) +901424
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +178638
System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +107
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272
私の質問は、BizTalkがログインしようとしていたのは何ですか?Domain \ComputerName$は間違いなくユーザーではありません。オーケストレーションからデータベースにアクセスしようとしたことはありません。VS2010からすばやくダーティなwcfサービステストを作成してIISに公開し、wcfサービステストを使用するための単純なクライアントを正常に作成したので、IISは正しくセットアップされたと思います。wcfサービステストを直接作成したときに、同じ問題は発生しませんでした。
ヘルプやヒントは大歓迎です!
編集
私はこれをなんとか修正しました。BizTalkによって作成されたため、Web構成ではありませんでした。特別なアプリプールを作成し、それを使用するようにアプリケーションを結び付ける必要がありました。アプリプールでは、BizTalkが使用しているカスタムクレデンシャルを使用する必要があります。組み込みのクレデンシャルを使用すると、私が経験した問題が発生しました。私の新人エラー!BizTalkログイン資格情報が使用されると、すべてがスムーズに進みました。