2012-05-10 3 views
2

Visual Studio 2010에서 AX 2012를 사용하여 기본 SSRS 보고서를 만들려고합니다. 기본 CustTable 데이터를 표시하려고합니다. 쿼리 CustTableSRS (AOT 쿼리) 데이터 집합을 연결할 때 오류가 발생합니다. 오류가 표시됩니다.AX 2012의 SSRS 보고서 오류

SSPI 호출이 실패했습니다. 내부 예외를 참조하십시오. 내가 2008 년 인터넷 검색에서 Visual Studio와 AX 2009 년 같은 단계를 수행하면이 나던 일이

, 난이 "잘못 SPN"함께 할 수있는 뭔가가 있음을 발견했다. SPN은 서버 사용자 이름입니다. Kerboros 환경의 서버 인스턴스에 지정된 이름입니다. 그러나 나는 그것을 올바르게 설정할 수 없습니다. Oracle VirtualBox에서 실행되는 AX2012 이미지를 사용하고 있습니다.

주 : 미안 해요, 난 초보자 :

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

시도가 관리자로 동일한 작업을 수행하기 위해 Visual Studio에서

오류 로그 오전부터 순서대로, 스크린 샷을 게시 할 수없는이 같은 경우 볼 수 오류가 발생합니다. 보고가 제대로 작동하는 경우 가장 먼저 시도해야합니다.

이러한 유형의 개발을 위해서는 모든 CIL을 전체적으로 컴파일해야하며 서비스 (서비스 그룹, SRS 및 SAS에 의해 시작되는 서비스 그룹)가 배포되어 있어야합니다. VS에서 사용하는 구성 클라이언트가 서비스 통신을 올바르게 구성했는지 확인하십시오.