Freigeben über


Timeout issue with WCF-SAP BizTalk Adapter

Recently when I was working with WCF-SAP Adapter I got the below error

System.Transactions.TransactionException: The operation is not valid for the state of the transaction. --->
System.TimeoutException: Transaction Timeout

--- End of inner exception stack trace ---

at
System.Transactions.TransactionState.EnlistVolatile(InternalTransaction tx, IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions, Transaction atomicTransaction)

at
System.Transactions.Transaction.EnlistVolatile(IEnlistmentNotification enlistmentNotification, EnlistmentOptions enlistmentOptions)

at
Microsoft.BizTalk.Adapter.Wcf.Runtime.TransmitTxnBatch..ctor(IBTTransportProxy transportProxy, ControlledTermination control, Transaction transaction)

at
Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkDeleteTxn.Execute(BizTalkExecutionContext executionContext)
.

And this error was intermittent, this was occurring only for large sized IDOCS. When I checked SAP system I found that the operation at SAP end took longer time than expected. An another interesting fact was that I received the error in biztalk after the SAP got processed the idoc.

After some research I found that the connection is broken if the operation takes more time than that specified in the SendTimeout of the WCF-SAP send port properties.

After increasing the SendTimeout property it was still not reflecting.
After some research I found that according to the link https://blogs.msdn.com/b/adapters/archive/2008/01/28/timeoutexception-s-timeout-related-argumentoutofrangeexception-s-thrown-from-the-sap-adapter.aspx that some of the Timeout property doesn’t get reflected.

So I added below entries in framework64 .net 4.0 machine.config file(C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config) which will change the timeout setting for entire System.Transactions Namespace.

<configuration>
<system.transactions>|
  <machineSettings maxTimeout="00:59:00" />
</system.transactions>
</configuration> 

 After making this Changes my BizTalk Application which was failing, worked as expected.

Happy Biztalking!!

Written by
Shashidharan Krishnan

Reviewed by
Jainath V R 

Microsoft India GTSC

Comments

  • Anonymous
    June 26, 2013
    Very helpful tip...
  • Anonymous
    January 15, 2014
    The comment has been removed
  • Anonymous
    October 19, 2016
    Very helpful article. Our server administrators have a question regarding making this change to the machine.config file. "Will subsequent MS patching result in these entries being removed from or altered within the file"? Basically they are wanting to know if the change will be retained or if they will need to go back and modify the file again after future patching.
  • Anonymous
    February 08, 2017
    The comment has been removed