[Issue] Microsoft Dynamics AX 2012 R3 Retail MPOS not activating
Sometimes while activating device users will find activation errors. In that case, please install tools like Fiddler and check if Logon call works and only ActivateDevice call is failing with 401 error.
Request:
POST https://<RSSERVERURL>:<PORT>/RetailServer/v1/ActivateDevice
HTTP/1.1
Content-Type: application/json;odata=verbose
DataServiceVersion: 3.0
Prefer: return-content
Accept: application/json;odata=nometadata
MaxDataServiceVersion: 3.0
Accept-Language: en-US
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.3; Win64;
x64; Trident/7.0; MSAppHost/2.0; rv:11.0) like Gecko
Connection: Keep-Alive
Content-Length: 47
Pragma: no-cache
{"deviceNumber":"mPOS001","terminalId":"000001"}
Response:
HTTP/1.1 401
Microsoft_Dynamics_Commerce_Runtime_AuthenticationFailed
Content-Type: text/html
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET
Access-Control-Allow-Methods:
GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS
Access-Control-Allow-Headers: Content-Type,
Accept, MaxDataServiceVersion, Origin, Content-Id, DataServiceVersion, Prefer,
Cookie
Access-Control-Expose-Headers:
DataServiceVersion, Location
Access-Control-Max-Age: 1728000
Access-Control-Allow-Credentials: true
X-Content-Type-Options: nosniff
Date: Fri, 25 Apr 2014 21:20:42 GMT
Content-Length: 1293
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1"/>
<title>401 - Unauthorized: Access is denied
due to invalid credentials.</title>
<style type="text/css">
<!--
body{margin:0;font-size:.7em;font-family:Verdana,
Arial, Helvetica, sans-serif;background:#EEEEEE;}
fieldset{padding:0 15px 10px 15px;}
h1{font-size:2.4em;margin:0;color:#FFF;}
h2{font-size:1.7em;margin:0;color:#CC0000;}
h3{font-size:1.2em;margin:10px 0 0
0;color:#000000;}
#header{width:96%;margin:0 0 0 0;padding:6px 2%
6px 2%;font-family:"trebuchet MS", Verdana, sans-serif;color:#FFF;
background-color:#555555;}
#content{margin:0 0 0 2%;position:relative;}
.content-container{background:#FFF;width:96%;margin-top:8px;padding:10px;position:relative;}
-->
</style>
</head>
<body>
<div id="header"><h1>Server
Error</h1></div>
<div id="content">
<div class="content-container"><fieldset>
<h2>401 - Unauthorized: Access is
denied due to invalid credentials.</h2>
<h3>You do not have permission to
view this directory or page using the credentials that you supplied.</h3>
</fieldset></div>
</div>
</body>
</html>
If you are getting this issue, check if retail server url used is http or https.
In case "http", go to Retail server's web.config and make sure RequireSSL setting is "false"
So in nutshell, if you are using Retail server with http and requireSsl=true then system will not behave properly. This issue should not happen in production as in production scenario https is the recommended way.