This is a follow-up from my previous post AX for Retail 2012 R2: Installing the Real-time Service and should give you some tips if you run into problems installing and configuring the Real-time Service. Before getting into those tips, I want to go through the configuration of logging, as that will be necessary for your troubleshooting.
Edit (2013-03-29): Added a couple more common errors and a little more detailed information about self-signed certificates.
Edit (2013-06-21): A minor revision on configuring logging
Configuring Real-time Service Tracing and Logging
The Real-time Service has robust tracing and logging that is easy to configure. Even if you have no problems getting the service up and running, there will be times where you need to dig into POS errors. Remember that the Real-time Service is a conduit between the POS and the X++ logic that is running in AX. When errors happen in the X++ code, the POS will often display and log a rather generic error. Getting to the root of the issue usually requires digging into the X++ errors. These are logged by the Real-time Service itself.
Configuration of the Real-time Service logging happens in the web.config file for the Web service. If you installed the service with the Powershell script, this will be in the c:\inetpub\dynamicsaxretail\CommerceDataExchangeRealtimeService\ folder. Load the web.config file into any text editor and note these two lines (they should be lines 14 and 28 by default):
<source name=”RetailNetTracer” switchValue=”Warning”>
<add name=”RollingXmlWriterTraceListener” type=”Microsoft.Dynamics.Retail.Diagnostics.RollingXmlWriterTraceListener, Microsoft.Dynamics.Retail.Diagnostics” initializeData=”” MaxLogFileInBytes=”50000000″ traceOutputOptions=”ProcessId, DateTime, LogicalOperationStack” />
The easiest way to trace what is happening in the Real-time Service is by using the RollingXmlWriterTraceListener. This is a common log format that is also used by other components of AX for Retail.
Line 14: The value in the switchValue property is the level of tracing. Common levels that I like to use include “All”, “Warning”, and “Error”. Note: these values are case-sensitive. If you spell it incorrectly, your Real-time Service will immediately break when you save the web.config file!
Line 28: The value of the initializeData is where you can specify a folder to which the log file will be written. If this property is left blank it can be difficult to find the file as it will be stored in the <windows>\temp\RetailLogs folder. I like to save the file somewhere easier to find like c:\logs.
Note (2013-06-21): It is better to use a path + filename here: “c:\logs\RTS.svclog” for example. This will result in a filename of “c:\logs\RTS_00.svclog” being created. Note that you can use the .svclog extension so you can just double-click on the file to open it in the Service Trace Viewer.
Also note that the folder you specify has to already exist and the Application Pool user account must have write privileges to the folder.
Although the files are standard XML files, they are messy to read in an XML viewer. Instead, you should use a small program called “MICROSOFT Service Trace Viewer” (SvcTraceViewer.exe) which is a standard tool for reading these types of log files. That program expects extensions of “.svclog” but you can do a File > Open to open the XML files. Once loaded, click on the “Activity” section on the left and then you will see all of the messages on the right, very similar to how they would appear in Event Viewer:
Depending on your trace level, these messages will also include exceptions and warnings from X++ methods that the service is calling.
Here is a good blog post on installing SvcTraceViewer. The application itself can be a bit tricky to get ahold of since you need to pull it from the Windows SDK, but once you find it you can just copy the .exe to any machine and run it directly.
Common Install and Configuration Issues
Problem: The InstallCommerceDataExchangeRealtimeService Powershell script fails with an error “PathNotFound” on the web.config file:
Solution: The most common reason for this failure is by not specifying a valid ServiceBinarySourceFolder parameter when running the script. Most often, a trailing “\bin” is added. The correct path should be: “c:\Program Files (x86)\Microsoft Dynamics AX\60\Commerce Data Exchange\Real-time Services\6.2\”. You should run the uninstall script and then re-run the install script with the correct parameter.
Problem: When testing the WCF application in the Web browser you see this error: Invalid hexadecimal string format
Solution: Verify that you entered the Thumbprint for your server certificate correctly. It should be 40 characters with no spaces. It is also very susceptible to copy and paste issues (hidden characters, ascii/unicode character sets, etc.) so it may be helpful to type it in manually. The thumbprint is stored in the web.config file in the <serviceCredentials> node, but it may be best to run the uninstall and install using the Powershell script if you need to change it.
Problem: When testing the WCF application in the Web browser you see this error: Could not find a base address that matches scheme net.tcp for the endpoint with binding NetTcpBinding. Registered base address schemes are [http,https].
Solution: We have seen a couple instances where the net.tcp binding may not get created by the Powershell installation script. In the IIS Manager, go to your CommerceDataExchangeRealtimServiceWebsite note and right-click and select bindings:
Verify that net.tcp is included with binding information of 808:*.
Under the application itself (CommerceDataExchangeRealtimeService), right-click and select Manage Application > Advanced Settings. Verify that net.tcp is included:
Problem: Call to the Real-time Service results in an error similar to (POS error log): System.IdentityModel.Tokens.SecurityTokenValidationException: The X.509 certificate CN=TSServerCert chain building failed. The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. A certificate chain could not be built to a trusted root authority.
Solution: One of the more difficult tasks in configuring the Real-time Service is getting your Server Certificate set up correctly. If you are creating a test environment it is very likely that you are using a test or self-signed certificate. If this is the case, all clients attempting to connect to the Real-time Service (i.e. your POS machines) need to create a trust chain with that server. This step is not needed if you are using a purchased certificate because the publisher of that certificate is already a trusted authority.
If you find yourself in this situation, you can run the InstallCertificationAuthority Powershell script that is included with the Real-time Service installation. You will need a .cer file (certification authority) and a .crl (revocation list) to run the script.
Alternatively, you can install the certificate on the POS machine itself:
- Export the certificate from the Certificates > Computer account (see http://technet.microsoft.com/en-us/library/cc779668(v=WS.10).aspx for details)
- Copy the resulting .cer and/or .pfx files to the POS machine.
- Double-click each of the files and follow the Certificate Import Wizard to install the certificate.
Note: Keep in mind that you should not use a self-signed certificate in a production environment. When you purchase your certificate from a trusted authority the POS machines will automatically create a trusted connection to the Real-time Service without having to install certificates.
Problem: Call to the Real-time Service results in one of these errors (POS error log): TCP error code 10060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <ip>:808 or TCP error code 10061: No connection could be made because the target machine actively refused it 10.11.12.13:808
Solution: In the Services console on the Real-time Server machine, verify that Net.Tcp Listener Adapter and Net.Tcp Port Sharing Service services are running.
Problem: Call to the Real-time Service results in an error similar to: Exception: The requested service, ‘net.tcp://localhost/RetailTransactionService/Service.svc/Common’ could not be activated. See the server’s diagnostic trace logs for more information. [CryptographicException: Keyset does not exist]
Solution: This can occur if the user account that the Real-time Service is running under does not have access to the server certificate private key. In IIS management console, first identify the identity for the CommerceDataExchangeRealtimeServiceAppPool application pool. Open the Certificate Manager console (start –> type in mmc, add the snap-in for certificate manager, local machine). Expand Personal –> Certificates node. Right click on the certificate, choose All tasks -> Manage private key… Add read access for the user identified above.
Problem: Call to the Real-time Service results in an error similar to: Could not load type ‘System.ServiceModel.Activation.HttpModule’ from assembly ‘System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’.
Solution: This can happen if the .Net Framework 4.0 gets unregistered from IIS for some reason. This registration should occur with the installation of the Real-time Service, but you can run the following command in an elevated command prompt to manually register: %WINDIR%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Problem: Call to the Real-time Service results in an error similar to the following (POS error log): RetailPosis.TransactionServices.EstablishConnection: System.ServiceModel.Security.MessageSecurityException: Identity check failed for outgoing message. The expected DNS identity of the remote endpoint was ‘TSServerCertX’ but the remote endpoint provided DNS claim ‘TSServerCert’. If this is a legitimate remote endpoint, you can fix the problem by explicitly specifying DNS identity ‘TSServerCert’ as the Identity property of EndpointAddress when creating channel proxy.
Solution: In HQ, verify that the Common Name on the Real-time Service profile your POS is using matches the Common Name of your server certificate:
Problem: Call to the Real-time Service results in an error similar to the following (POS error log): Inventory lookup: LSRetailPosis.PosisException —> System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. —> System.ServiceModel.FaultException: An error occurred when processing the security tokens in the message. In addition, an error similar to the following is found in the Real-time Service log: Username password validation failed: The password is null or whitespace
Solution: In HQ, verify that you have entered a value in the Passphrase field of the Real-time Service profile. Note that the field may look populated with the mask character (dots) even if you have not entered one. You do not have to enter this passphrase anywhere else as it gets pushed to the POS database via the N-1090 job. See Brett’s article for more information about how the Passphrase field works: Unable to connect to the Transaction Service – The case of the missing or mismatched passphrase.
Problem: Call to the Real-time Service results in an error similar to the following (POS error log): LSRetailPosis.TransactionServices.EstablishConnection: System.ServiceModel.ProtocolException: You have tried to create a channel to a service that does not support .Net Framing. It is possible that you are encountering an HTTP endpoint. —> System.IO.InvalidDataException: Expected record type ‘PreambleAck’, found ’72’.
Solution: This usually happens when you are mixing protocols and ports incorrectly in the Real-time Service profile. For instance, I can force this error if I choose “net.tcp” but use port 9080 (which is the http port). We recommend that you use “net.tcp” with port 808 for the communication between POS and the Real-time Service.
Problem: Call to the Real-time Service results in an error similar to the following (POS error log): LSRetailPosis.TransactionServices.EstablishConnection: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.tcp://localhost/xCommerceDataExchangeRealtimeService/Service.svc/Common that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
Solution: This is almost always caused by a mismatch between the “Web application name” setting on the Real-time Service profile and the actual application itself. In my example I intentionally misspelled it; usually when this error pops up I see people using the Web site itself (CommerceDataExchangeRealtimeServiceWebsite) instead of the application (CommerceDataExchangeRealtimeService). Double check those two and make sure they’re exactly the same.
Problem: The POS cannot connect to the Real-time Service and the Real-time Service log has an error similar to the following: Axapta.Logon() failed. Exception details: The server is unavailable. Microsoft Dynamics will try to connect to other servers in your configuration.Microsoft.Dynamics.BusinessConnectorNet.ServerUnavailableException:
Solution: There are a number of possibilities here. First, if you have overridden the AOS connection in the Real-time Service’s web.config, make sure that it is pointing to a valid AOS. Also, make sure that this AOS is up and running. Finally, verify that the Real-time Service user account (In IIS management console, identify the identity for the CommerceDataExchangeRealtimeServiceAppPool application pool) is a valid AX user that has rights to connect via the .Net Business Connector.
Hopefully these tips will get you up and running with the Real-time Service and able to track down issues when the POS errors don’t give you enough information. As always, if you get stuck, please open a support incident and we can help you out.

%20Manager.png)
hi shane,
when i'm doing inventory lookup, there was error "could not connect to transaction service". when i see the error from event viewer it explain: Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Inventory lookup: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.tcp://vm-ax2012/CommerceDataExchangeRealTimeServiceWeb/Service.svc/Common that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
do you have any insight regarding this error.
thanks in advance.
I have seen this error before – I thought I had added it to this page but I guess not.
The problem is a mismatch between your real-time service profile in AX (which is probably "CommerceDataExchangeRealTimeServiceWeb") and the actual web service itself (in IIS). If you used the Powershell scripts to install everything it should be "CommerceDataExchangeRealtimeService" instead.
hi shane,
thank you for your guidance.
i've banging my head to the wall for almost two days 🙂
changing to 'commercedataexchangerealtimeservice' at the realtime service profile solve the issue.
i think you should edit this blog post and add this issue.
once again, thank shane.
rgds
-ismail
Have you ever see error?
An error occurred while trying to listen for the URL '/LM/W3SVC/2/ROOT/CommerceDataExchangeRealtimeService'. This worker process will be terminated.
Sender Information: net.tcp
Exception: System.ServiceModel.WasHosting.TcpAppDomainProtocolHandler/463695
Process Name: System.ServiceModel.CommunicationException: The TransportManager failed to listen on the supplied URI using the NetTcpPortSharing service: .
at System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.Register()
at System.ServiceModel.Channels.SharedConnectionListener.SharedListenerProxy.Open(Boolean isReconnecting)
at System.ServiceModel.Channels.SharedConnectionListener.StartListen(Boolean isReconnecting)
at System.ServiceModel.Channels.SharedConnectionListener..ctor(BaseUriWithWildcard baseAddress, Int32 queueId, Guid token, Func`2 onDuplicatedViaCallback)
at System.ServiceModel.Channels.SharedTcpTransportManager.OnOpenInternal(Int32 queueId, Guid token)
at System.ServiceModel.WasHosting.TcpAppDomainProtocolHandler.OnStart()
at System.ServiceModel.WasHosting.BaseAppDomainProtocolHandler.StartListenerChannel(IListenerChannelCallback listenerChannelCallback)
Process ID: w3wp
Hi Phannasri – I haven't seen that particular error before, although the path of the URL looks like it is incorrect (/LM/W3SVC/2/ROOT/…). Can you open a support incident to investigate? I'll update the blog if we find a reason for the error.
hi shane,
i get an issue like this. am i missing some thing here?
Unable to import web administrator module or snapin. Please install the IIS web administration module or snapin for PowerShell..
Log-Error : Step 1 Failed: Pre-requisite check.
At D:Program FilesMicrosoft Dynamics AX60Commerce Data ExchangeReal-time Services6.2Sample Deployment ScriptsIn
stallCommerceDataExchangeRealtimeService.ps1:466 char:5
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Log-Error
Pre-requisite check failed for installing Commerce Data Exchange Real-time Service.
The type 'Microsoft.Dynamics.Retail.TransactionServices.TransactionService', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.
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.InvalidOperationException: The type 'Microsoft.Dynamics.Retail.TransactionServices.TransactionService', provided as the Service attribute value in the ServiceHost directive, or provided in the configuration element system.serviceModel/serviceHostingEnvironment/serviceActivations could not be found.
I am getting an error message which reads as follows:
"Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Inventory lookup: System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. —> System.ServiceModel.FaultException: An error occurred when verifying security for the message."
I have tried everything related to the passphrase as mentioned in Brett's article.
Still, the error persists.
Shane, please help. Its little URGENT!!!
Thanks in advance.
Hi Shane,
I'm using a certificate with an asteriks in common name (*.aeo.no). The name is fine in the store database, but I get this error:
Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Lageroppslag: System.ServiceModel.Security.MessageSecurityException: Identity check failed for outgoing message. The expected DNS identity of the remote endpoint was '*.aeo.no' but the remote endpoint provided DNS claim 'aeo.no'. If this is a legitimate remote endpoint, you can fix the problem by explicitly specifying DNS identity 'aeo.no' as the Identity property of EndpointAddress when creating channel proxy.
Is * in common name not supported, do you know?
Thanks.
Hi Shane,
I have issue for POS can you have so solution about this error..
Thanks Advances.
Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Inventory lookup: System.ServiceModel.ProtocolException: You have tried to create a channel to a service that does not support .Net Framing. —>
System.IO.InvalidDataException: Expected record type 'PreambleAck', found '46'.
Hi shane,
please provide me a solution,
It's very important to solve this issue,
in event viewer it shows
LSRetailPosis.TransactionServices.EstablishConnection: System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. —> System.ServiceModel.FaultException: An error occurred when verifying security for the message.
— End of inner exception stack trace —
Server stack trace:
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.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.Retail.TransactionServices.ClientProxy.ITransactionService.IsAlive()
at LSRetailPosis.TransactionServices.CheckConnection().
and
Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Inventory lookup: System.ServiceModel.FaultException: An error occurred when verifying security for the message..
Gulam – that looks like a problem with the certificate authentication between the two machines. Can you open a support case for some troubleshooting assistance?
Hi Shane,
please suggest me solution,
i got these two errors,
Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Inventory lookup: System.ServiceModel.FaultException: An error occurred when verifying security for the message.
LSRetailPosis.TransactionServices.InvokeMethod: System.ServiceModel.FaultException: An error occurred when verifying security for the message..
we already installed certificates,
Hi shane,
this is very High importance,
we were facing lot of problem in AX repeatedly
we already installed certifictes properly, sudden it's showing this errors repeatedly.
The shop occurred two errors,in all kind of services.
1.LSRetailPosis.TransactionServices.InvokeMethod: System.ServiceModel.FaultException: An error occurred when verifying security for the message..
2.LSRetailPosis.TransactionServices.InvokeMethod: System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. —> System.ServiceModel.FaultException: An error occurred when verifying security for the message.
— End of inner exception stack trace —
Server stack trace:
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.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.Retail.TransactionServices.ClientProxy.ITransactionService.InvokeMethod(RequestInfo requestInfo, String methodName, Object[] parameters)
at LSRetailPosis.TransactionServices.InvokeMethod(String methodName, Object[] parameters).
Gulam,
Those definitely sound like problems with the SSL cert – unfortunately I'm not able to assist here so I would suggest opening a support incident for someone to dig into the issue in more detail…
Hi! Very useful article, thank you.
In addition, I want to share with you all how I solved the following issue with Real Time Service. In my case, I have 3 AOS instances installed on a single server, so active client configuration of AX 2012 was OK, but Business Connector configuration was wrong because it was confugured to the wrong AOS. To fix the issue I opened client configuration utility and updated Business Connnector configuration to right AOS.
========================================================================
'LSRetailPosis.TransactionServices.EstablishConnection: System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. —> System.ServiceModel.FaultException: An error occurred when verifying security for the message.
— End of inner exception stack trace —
Server stack trace:
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
at System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.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.Retail.TransactionServices.ClientProxy.ITransactionService.IsAlive()
at LSRetailPosis.TransactionServices.CheckConnection().'
Below is my scenario:
AOS and Real-time service is on the same machine.
My POS machine is not registered on the domain (workgroup).
It is a standalone POS. (not using an offline database).
I am connecting through VPN, updated my host file on POS machine. (I am able to ping the server with the name). (I have even tried connecting it through local LAN).
On HQ real time service is running perfectly fine. And this service is working fine on the POS which are registered on the domain (I am using the same configuration for all the machines i.e. both domain and workgroup machines).
On such POS machines when it try to lookup inventory error pops up, below is the event log.
a. Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Inventory lookup: System.ServiceModel.FaultException: An error occurred when verifying security for the message..
b. Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Inventory lookup: System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. —> System.ServiceModel.FaultException: An error occurred when verifying security for the message.
— End of inner exception stack trace —
Below is my scenario:
AOS and Real-time service is on the same machine.
My POS machine is not registered on the domain (workgroup).
It is a standalone POS. (not using an offline database).
I am connecting through VPN, updated my host file on POS machine. (I am able to ping the server with the name). (I have even tried connecting it through local LAN).
On HQ real time service is running perfectly fine. And this service is working fine on the POS which are registered on the domain (I am using the same configuration for all the machines i.e. both domain and workgroup machines).
On such POS machines when it try to lookup inventory error pops up, below is the event log.
a. Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Inventory lookup: System.ServiceModel.FaultException: An error occurred when verifying security for the message..
b. Microsoft.Dynamics.Retail.Pos.Dialog.WinFormsTouch.formInventoryLookup, Text: Inventory lookup: System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party. See the inner FaultException for the fault code and detail. —> System.ServiceModel.FaultException: An error occurred when verifying security for the message.
— End of inner exception stack trace —
Hi ,
Thank you for this article.
To complete it , here is the solution that I can bring to the error mentioned in your article: RetailPosis.TransactionServices.EstablishConnection problem: System.ServiceModel.Security.MessageSecurityException : Identity check failed for a message out .
The solution was verified that the passphrase field is well informed but also to assign the system administrator privilege to the domain user that is running the Windows service realtime 6.1
Hi ,
Thank you for this article.
To complete it , here is the solution that I can bring to the error mentioned in your article: RetailPosis.TransactionServices.EstablishConnection problem: System.ServiceModel.Security.MessageSecurityException : Identity check failed for a message out .
The solution was verified that the passphrase field is well informed but also to assign the system administrator privilege to the domain user that is running the Windows service realtime 6.1
hi we are using dynamics ax 2012 r2 version for retail in this we are facing issue on sync service it is getting stopped frequently and microsoft support team is not able to find the root cause can any one help us in this
Real Time Services Slowness.
Dear experts,
while i am performing return transaction in AX POS 2012 R3, POS Application becomes very slow and it takes around 1 minute 30 second to 2 minute of time to fetch Transaction.
can you please help me to find the solution.
Thanks in advance.
Thanks & Regards,
Husain.N.G