Hi,
I am using AX 2012 R3 POS.I am working in offline mode. In offline mode, I have completed pay cash and pay customer account transaction successfully.
After that ,I want to return transaction in it and I have follow below steps :
1. click on the "Return transaction" button
2. Enter "Receipt No"
3. After click on the "OK" button, it's take more time to go the form (the form which is display list of items for return).
During this process, I have found below error in event log :
LSRetailPosis.POSProcesses.ReturnTransaction: LSRetailPosis.TransactionServiceException: TS InvokeMethod call failed due to a CommunicationException: GetTransaction() ---> System.ServiceModel.EndpointNotFoundException: No DNS entries exist for host . ---> System.Net.Sockets.SocketException: No such host is known
at System.Net.Dns.GetAddrInfo(String name)
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostEntry(String hostNameOrAddress)
at System.ServiceModel.Channels.DnsCache.Resolve(Uri uri)
--- End of inner exception stack trace ---
Server stack trace:
at System.ServiceModel.Channels.DnsCache.Resolve(Uri uri)
at System.ServiceModel.Channels.SocketConnectionInitiator.GetIPAddresses(Uri uri)
at System.ServiceModel.Channels.SocketConnectionInitiator.Connect(Uri uri, TimeSpan timeout)
at System.ServiceModel.Channels.BufferedConnectionInitiator.Connect(Uri uri, TimeSpan timeout)
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)
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 System.ServiceModel.ICommunicationObject.Open(TimeSpan timeout)
at System.ServiceModel.Channels.SecurityChannelFactory`1.ClientSecurityChannel`1.OnOpen(TimeSpan timeout)at System.ServiceModel.Channels.CommunicationObject.Open(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.ReliableChannelBinder`1.ChannelSynchronizer.SyncWaiter.TryGetChannel()
at System.ServiceModel.Channels.ReliableChannelBinder`1.ChannelSynchronizer.SyncWaiter.TryWait(TChannel& channel)
at System.ServiceModel.Channels.ReliableChannelBinder`1.ChannelSynchronizer.TryGetChannel(Boolean canGetChannel, Boolean canCauseFault, TimeSpan timeout, MaskingMode maskingMode, TChannel& channel)
at System.ServiceModel.Channels.ReliableChannelBinder`1.Send(Message message, TimeSpan timeout, MaskingMode maskingMode)
at System.ServiceModel.Channels.SendReceiveReliableRequestor.OnRequest(Message request, TimeSpan timeout, Boolean last)at System.ServiceModel.Channels.ReliableRequestor.Request(TimeSpan timeout)
at System.ServiceModel.Channels.ClientReliableSession.Open(TimeSpan timeout)
at System.ServiceModel.Channels.ClientReliableDuplexSessionChannel.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 [1]:
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)
--- End of inner exception stack trace ---
at LSRetailPosis.TransactionServices.InvokeMethod(String methodName, Object[] parameters)
at LSRetailPosis.TransactionServices.GetTransaction(Boolean& retValue, String& comment, Boolean& uniqueReceiptId, DataTable& transHeader, DataTable& transItems, DataTable& transLoyalty, DataTable& transDiscounts, String receiptId, String storeId, String terminalId)
at LSRetailPosis.POSProcesses.ReturnTransaction.Execute().
Please suggest me for it.
*This post is locked for comments
Hi Sumit
I have some problem
can you explain it in detail how i can do refund transaction code
Dear,
I had same issue with 2012 R3. below solution had solved my problem.
Try to remove the Interactions.dll file from the extension folder where the POS is installed. This dll file will look in the AX for any sales/return.
When you do return transaction it uses the RealTimeService to communicate to DAX to get the Transaction information. You can do -
1. Try to optimize the refund transaction code. We have done this for one of our implementation. During refund transaction, it used to go offline.
2. Check the network stability which is responsible for communicating POS and DAX.
Hi All,
The text, "Complete a return transaction, under specific circumstances. The following table shows when an offline return transaction can be completed.", means that's possible post a return order in mPOS using the offline mode without connection to AX?
I'm trying this cenario, but i'm facing the error "CommerceRuntimeException was thrown.Microsoft.Dynamics.Commerce.Runtime.CommunicationException: Exception while calling invoke method MarkItemsReturned: There was no endpoint listening at myserver.mydomain.com/.../Common that could accept the message."
Thanks in advance
Use Retail POS in offline mode [AX 2012]
A POS device will go offline if the system is temporarily down or if the channel database is unavailable. When the connection with the channel database is lost, Retail POS automatically switches to the offline database.
NoteNote
If a transaction is in progress when the connection is lost, you must void the transaction, and then start a new transaction that uses the offline database.
This topic contains the following sections:
• POS operations that can be completed when the channel database is offline
• POS operations that can’t be completed when the channel database is offline
• Reconnect to the channel database
POS operations that can be completed when the channel database is offline
--------------------------------------------------------------------------------
If a POS device has an offline database, you can complete the following operations when the channel database is offline:
• Generate a sales transaction
• Recall an unfinished transaction, if the transaction was initiated during the current offline session
• Void an item
• Void a payment
• Void a transaction, if the transaction was initiated during the current offline session
• Blank operations
• Complete a return transaction, under specific circumstances. The following table shows when an offline return transaction can be completed.
------------------------------------------------------------------------------------------
POS operations that can’t be completed when the channel database is offline
--------------------------------------------------------------------------------
You can’t complete the following operations when the channel database is offline:
• Print an X report
• Print a Z report
• Close a shift
• Blind-close a shift
• View blind-closed shifts
• Suspend a shift
Reconnect to the channel database
--------------------------------------------------------------------------------
When the channel database becomes available again, you must use the Database connection status operation in Retail POS to reestablish the connection with the channel database. Offline POS devices do not automatically reconnect to the channel database when it becomes available.
Hi, As of cu10/11, pos checks the return transaction first in ax and then if not found it looks in pos dB. Also there is a check box at functionality profile which restricts the return if transaction is not available in ax.
Stay up to date on forum activity by subscribing. You can also customize your in-app and email Notification settings across all subscriptions.
André Arnaud de Cal... 291,228 Super User 2024 Season 2
Martin Dráb 230,056 Most Valuable Professional
nmaenpaa 101,156