Hi, I have mendelson AS2 connector v1.1 build 53 and we have problem with auto resend AS2 messages that received failed MDN from our remote partner. I didn't find a function for auto resend this messages.
Currently I select the transactions in the user interface, press the right mouse button and select "resend as new transaction" in the context menu but this manual method.
Is there a automatically way to resend the AS2 message with failed MDN by a single function?
Example failed MDN:
[Nov 28, 2018 2:07:29 PM] messadge_id: Inbound MDN state is [processed/Error: integrity-check-failed].
[Nov 28, 2018 2:07:29 PM] messadge_id: Inbound MDN details received from remote_as2: "[ReceiveFile - our_as2.remote_as2] Error: Unable to write incoming file: The process cannot access the file 'C:\Program Files (x86)\RSSBus\RSSBus Apps\data\as2connector\profiles\our_as2.remote_as2\Incoming\filename.xml' because it is being used by another process.
at RSSBus.As2Ops.ReceiveFile.Receive(RSBContext ctx, rc selfInfo, As2Info partnerInfo, LicenseInfo licenseInfo, rV localSettings, String incomingDir)"
in our understanding using an auto resend mechanism makes no sense - this mechanism is more a missunderstanding of how automatic transmissions work. On the TPs side there is a software, too. If something did not work the first time there will be no reason that it works the second time! Or the third.. How long would you like to retry? 10 times? 100 times?
If your partner sent an MDN to you it is expected that his backend system has received a message that the transaction failed and some mechanism for failed inbound message may have started. What should be the way to reverse this by modifying a transaction state? And how long should this be possible to resend? Perhaps a day, a week?
Another problem: if your partner receives a second transaction with the same transaction id, what should be the mechanism to ensure that this is a resend? Perhaps it's no resend but a new transaction, just a problem with the transaction id generator on your side? And what should be the mechanism to ensure that the resend retries ended and the transaction could be finally closed on his side?
As you can see: automatic resend of failed transactions with the same transaction id makes no sense and will result in message loss in the worst case. That is nothing we would like to implement.
If you would like to react to a failed outbound transaction please do the following:
*You received a MDN with failed state
*Send a signal from the AS2 system to your ERP system that the transaction failed - this could be done in the partner events.
*In the ERP system build up a process that enwrapps the data in another transaction
*Start the new transaction in the mendelson AS2