Skip to main content

Notifications

Microsoft Dynamics AX (Archived)

Take more time to execute return Transaction in POS

Posted on by 592

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

  • Community Member Profile Picture
    Community Member Microsoft Employee on at
    RE: Take more time to execute return Transaction in POS

    Hi Sumit

    I have some problem

    can you explain it in detail how i can do refund transaction code

  • RE: Take more time to execute return Transaction in POS

    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.

  • Suggested answer
    sumit0417 Profile Picture
    sumit0417 2,890 on at
    RE: Take more time to execute return Transaction in POS

    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.

  • Pedro Santos Profile Picture
    Pedro Santos on at
    RE: Take more time to execute return Transaction in POS

    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

  • Javed Akhtar Profile Picture
    Javed Akhtar 45 on at
    RE: Take more time to execute return Transaction in AX 2012 R3 POS

    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.

  • Suggested answer
    amitkumar Profile Picture
    amitkumar 260 on at
    RE: Take more time to execute return Transaction in AX 2012 R3 POS

    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.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Community AMA December 12th

Join us as we continue to demystify the Dynamics 365 Contact Center

New! Quick response templatesâš¡

Save time with the new custom templates!

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,228 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,056 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans