I have walked through an enormous amount of literature working up to where MPOS on a tablet can be activated and am after four days of multiple reinstalls and tinkering, still unable to get MPOS to activate. An entire installation was performed from the ground up for all components. Below is what has been done.
For the quick preview, when I click Activate for MPOS, it asks for me to try the login ID or password again and the server event log error is: Microsoft.Dynamics.Commerce.Runtime.UserAuthenticationException: An error occurred during logon. ---> Microsoft.Dynamics.Commerce.Runtime.ConfigurationException: No channel configuration was found.
-AOS:
-The real time profile is matched up from the certificate subject line (CN).
-Working folders are set and are pushing data successfully
-Worker on the store is set and has manage device permissions
-Store is published
-Distribution jobs have been run and are all applying
-Devices are set to MPOS under device and are activating using the staff credentials I put on the tablet
-Channel database is set and syncing
-Channel profile is set correctly (http://servername:9082/retailserver/v1)
Server A (communication server):
-has the AsyncServer site and CDXRealtime site installed and are syncing correctly
-Separate certificate is in place for the realtime service and is trusted by the "store server".
-Separate service account is being used to run the real time service
Server B (Store Server)
- RetailServer is installed with a certificate
-Channel database installed (several times over) using AX setup. Password and account used during setup are the same as in AX Channel database
-Message database was created
MPOS (tablet):
-MPOS prerequisites installed manually
-MPOS activation screen info filled using the retail service url as set in AX, MPOS device settings as set in AX, and staff credentials as set in AX.
Press activate
-MPOS responds with: "Device Activation Error - There was a problem signing in. Try entering the operator ID and password again".
-Fiddler - responds with "Commerce Runtime Authentication Failure"
-Store server event logs:
Exception occured: [03/26/2015 12:22:53] Microsoft.Dynamics.Commerce.Runtime.UserAuthenticationException: An error occurred during logon. ---> Microsoft.Dynamics.Commerce.Runtime.ConfigurationException: No channel configuration was found.
at Microsoft.Dynamics.Commerce.Runtime.Data.ChannelDatabaseAccessor.GetChannelConfiguration(Int64 channelId)
at Microsoft.Dynamics.Commerce.Runtime.Data.ChannelDataManager.GetChannelConfiguration(Int64 channelId)
at Microsoft.Dynamics.Commerce.Runtime.DataServices.Common.ChannelDataRequestHandler.GetChannelConfiguration(GetChannelConfigurationDataServiceRequest request)
at Microsoft.Dynamics.Commerce.Runtime.DataServices.Common.ChannelDataRequestHandler.Execute(Request request)
at Microsoft.Dynamics.Commerce.Runtime.Workflow.Composition.PipelineRequestHandler.Execute(IRequestHandler handler, Request request)
at Microsoft.Dynamics.Commerce.Runtime.CommerceRuntime.Execute[TResponse](Request request, RequestContext context, IRequestHandler handler, Boolean skipRequestPipeline)
at Microsoft.Dynamics.Commerce.Runtime.CommerceRuntime.Execute[TResponse](Request request, RequestContext context, IRequestHandler handler)
at Microsoft.Dynamics.Commerce.Runtime.CommerceRuntime.Execute[TResponse](Request request, RequestContext context)
at Microsoft.Dynamics.Commerce.Runtime.Services.UserAuthenticationService.GetChannelConfiguration(UserLogOnServiceRequest request)
at Microsoft.Dynamics.Commerce.Runtime.Services.UserAuthenticationService.LogOnUser(UserLogOnServiceRequest request)
at Microsoft.Dynamics.Commerce.Runtime.Services.UserAuthenticationService.Execute(Request request)
at Microsoft.Dynamics.Commerce.Runtime.Workflow.Composition.PipelineRequestHandler.Execute(IRequestHandler handler, Request request)
at Microsoft.Dynamics.Commerce.Runtime.CommerceRuntime.Execute[TResponse](Request request, RequestContext context, IRequestHandler handler, Boolean skipRequestPipeline)
at Microsoft.Dynamics.Commerce.Runtime.CommerceRuntime.Execute[TResponse](Request request, RequestContext context, IRequestHandler handler)
at Microsoft.Dynamics.Commerce.Runtime.Workflow.AuthenticationHelper.AuthenticateUser(RequestContext context, Device device, UserAuthenticationRequest request, LogOnConfiguration& logOnConfiguration)
at Microsoft.Dynamics.Commerce.Runtime.Workflow.UserAuthenticationRequestHandler.Process(UserAuthenticationRequest request)
--- End of inner exception stack trace ---
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Microsoft.Dynamics.Retail.RetailServerLibrary.BufferResponseContentAttribute.<ExecuteActionFilterAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Tracing.ITraceWriterExtensions.<TraceBeginEndAsyncCore>d__21`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.ApiController.<InvokeActionWithExceptionFilters>d__1.MoveNext()