2012-05-10 20 views
2

Visual Studio 2010でAX 2012を使用して基本的なSSRSレポートを作成しようとしています。 基本CustTableデータを表示します。私がクエリCustTableSRS(AOTのクエリ)とデータセットをリンクすると、私はエラーが発生します。 エラーが表示されます。AX 2012のSSRSレポートエラー

SSPIの呼び出しに失敗しました。内部例外を参照してください。

私はグーグルにVisual Studio 2008 でAX 2009で同じ手順を実行している場合、このdoesntのことが起こる、私は、これは「誤って設定SPN」とは何かを持っていることがわかりました。 SPNはサーバープリンシパル名で、Kerboros環境のサーバーインスタンスに与えられた名前です。しかし、私はそれを正しく設定することはできません。 Oracle VirtualBox上で実行されているAX2012イメージを使用しています。

注:私は初心者ですので、スクリーンショットを投稿する申し訳ありませんが、できません:)

エラー・ログのVisual Studioで

Error 3 The "GenerateRdlTask" task failed unexpectedly. 
Microsoft.Dynamics.AX.Framework.Services.Client.UserSessionServiceException: A call to SSPI failed, see inner exception. ---> System.ServiceModel.Security.SecurityNegotiationException: A call to SSPI failed, see inner exception. ---> System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> System.ComponentModel.Win32Exception: The target principal name is incorrect 
    --- End of inner exception stack trace --- 
    at System.Net.Security.NegoState.StartSendAuthResetSignal(LazyAsyncResult lazyResult, Byte[] message, Exception exception) 
    at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.CheckCompletionBeforeNextSend(Byte[] message, LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.CheckCompletionBeforeNextSend(Byte[] message, LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.ProcessReceivedBlob(Byte[] message, LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.StartReceiveBlob(LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.CheckCompletionBeforeNextReceive(LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.StartSendBlob(Byte[] message, LazyAsyncResult lazyResult) 
    at System.Net.Security.NegoState.ProcessAuthentication(LazyAsyncResult lazyResult) 
    at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, ChannelBinding binding, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel) 
    at System.Net.Security.NegotiateStream.AuthenticateAsClient(NetworkCredential credential, String targetName, ProtectionLevel requiredProtectionLevel, TokenImpersonationLevel allowedImpersonationLevel) 
    at System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity) 
    --- End of inner exception stack trace --- 

Server stack trace: 
    at System.ServiceModel.Channels.WindowsStreamSecurityUpgradeProvider.WindowsStreamSecurityUpgradeInitiator.OnInitiateUpgrade(Stream stream, SecurityMessageProperty& remoteSecurity) 
    at System.ServiceModel.Channels.StreamSecurityUpgradeInitiatorBase.InitiateUpgrade(Stream stream) 
    at System.ServiceModel.Channels.ConnectionUpgradeHelper.InitiateUpgrade(StreamUpgradeInitiator upgradeInitiator, IConnection& connection, ClientFramingDecoder decoder, IDefaultCommunicationTimeouts defaultTimeouts, TimeoutHelper& timeoutHelper) 
    at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.SendPreamble(IConnection connection, ArraySegment`1 preamble, TimeoutHelper& timeoutHelper) 
    at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.DuplexConnectionPoolHelper.AcceptPooledConnection(IConnection connection, TimeoutHelper& timeoutHelper) 
    at System.ServiceModel.Channels.ConnectionPoolHelper.EstablishConnection(TimeSpan timeout) 
    at System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout) 
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) 
    at System.ServiceModel.Channels.ServiceChannel.CallOpenOnce.System.ServiceModel.Channels.ServiceChannel.ICallOnce.Call(ServiceChannel channel, TimeSpan timeout) 
    at System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce(TimeSpan timeout, CallOnceManager cascade) 
    at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) 
    at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) 
    at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) 

Exception rethrown at [0]: 
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 
    at Microsoft.Dynamics.AX.Framework.Services.Client.UserSessionService.IUserSessionService.GetUserSessionInfo(UserSessionServiceGetUserSessionInfoRequest request) 
    at Microsoft.Dynamics.AX.Framework.Services.Client.UserSessionClientInternal.<GetUserSessionInfo>b__0(IUserSessionService channel) 
    at Microsoft.Dynamics.AX.Framework.Services.Client.ServiceClientHelper.InvokeChannelOperation[TResult,TChannel](IServiceClient`1 client, Func`2 operationInvoker, Func`2 exceptionWrapper) 
    --- End of inner exception stack trace --- 
    at Microsoft.Dynamics.AX.Framework.Services.Client.ServiceClientHelper.InvokeChannelOperation[TResult,TChannel](IServiceClient`1 client, Func`2 operationInvoker, Func`2 exceptionWrapper) 
    at Microsoft.Dynamics.AX.Framework.Services.Client.UserSessionClientInternal.GetUserSessionInfo() 
    at Microsoft.Dynamics.AX.Framework.Services.Client.UserSessionClient.GetUserSessionInfo() 
    at Microsoft.Dynamics.AX.Framework.Reports.Shared.UserInformationProxy.GetUserSessionInfo() 
    at Microsoft.Dynamics.AX.Framework.Reports.Shared.UserInformationProxy.GetUserLanguage() 
    at Microsoft.Dynamics.AX.Framework.Reports.Shared.ReportParameterPromptStringResolver.Resolve(Stream input, String language) 
    at Microsoft.Dynamics.Framework.Deployment.Reports.GenerateRdlTask.GetRDLForDesign(IReportDesignDefinition reportDesign, String[] assemblyReferences) 
    at Microsoft.Dynamics.Framework.Deployment.Reports.GenerateRdlTask.Execute() 
    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 
    at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult) C:\Program Files (x86)\MSBuild\Microsoft\DynamicsTools\Microsoft.Dynamics.Framework.Design.Reporting.Modeling.targets 103 6 ReporDemoModel1 

答えて

1

同じかどうかを確認するためには、管理者と同じことをしようエラーが発生します。レポーティングが正常に機能している場合は、まずこれを試してください。

このタイプの開発では、すべてのCILを完全にコンパイルし、サービス(およびサービスグル​​ープ、SRSから始まり、SASによって開始されるもの)を展開することが重要です。 VSで使用されている構成クライアントがサービス通信を適切に構成していることを確認します。