Acest articol se aplică pentru următoarele produse:
-
BizTalk Adapter Pack 2.0
-
BizTalk Adapter Pack 2010
Simptome
Când utilizați una dintre următoarele adaptoare incluse în Microsoft BizTalk Adapter Pack 2.0 sau în Microsoft BizTalk Adapter Pack 2010 într-o locație de primire, locația de primire repornește neașteptat:
-
Windows Communication Foundation (WCF)-adaptor SQL
-
Adaptor WCF-Oracle
În plus, BizTalk Server pot întâmpina ConnectionException excepție, și apoi BizTalk server poate reporni după una dintre următoarele avertismente se înregistrează în Jurnalul de aplicații.
Adaptor WCF-SQL
Avertizare 1
"" "WCF-SQL" "adaptorul ridicat un mesaj de eroare. Detalii "" System.ObjectDisposedException: Imposibil de accesat un obiect eliminate. Numele obiectului: 'Tranzacții' cel System.Transactions.Transaction.Rollback (Exception e) la Microsoft.Adapters.Sql.SqlAdapterInboundHandler.TryReceive (TimeSpan timeout, mesaj & mesaj, IInboundReply & răspuns) la Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.TryReceive (TimeSpan timeout, mesaj & mesaj) la System.ServiceModel.Dispatcher.InputChannelBinder.TryReceive (TimeSpan timeout, RequestContext & requestContext) la System.ServiceModel.Dispatcher.ErrorHandlingReceiver.TryReceive (TimeSpan timeout, RequestContext & requestContext) "". "
Avertisment 2
"" "WCF-SQL" "adaptorul ridicat un mesaj de eroare. Detalii "" System.TimeoutException: Exception of type 'System.TimeoutException' a fost thrown.at Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired () la Microsoft.Adapters.Sql.ExecutionHelper.ExecuteScalar (SqlCommand sqlCommand, TimeoutHelper timeoutHelper) la Microsoft.Adapters.Sql.SqlAdapterInboundHandler.Polling_WaitForMessage (TimeoutHelper timeoutHelper) la Microsoft.Adapters.Sql.SqlAdapterInboundHandler.WaitForMessage (TimeSpan timeout) la Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (TimeSpan timeout) la System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (TimeSpan timeout) la System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage()"". "
Adaptor WCF-Oracle
Avertizare 1
Adaptor "WCF-Oracle" ridicat un mesaj de eroare. Detalii "Microsoft.ServiceModel.Channels.Common.ConnectionException: timeout" 00: 02:00 "în timp ce funcția"WaitForMessage"de executare a expirat. ---> System.TimeoutException: timeout "00: 02:00" în timp ce funcția "WaitForMessage" de executare a expirat. la Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired() la Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (OracleCommand comandă, TimeoutHelper timeoutHelper) la Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteNonQuery (OracleCommand comandă, OracleCommonExecutionHelper executionHelper) la Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection () OracleCommonExecutionHelper executionHelper)---sfârșitul inner exception stack trace---la Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection (OracleCommonExecutionHelper executionHelper) la Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper) la Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (TimeSpan timeout) la Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (TimeSpan timeout) la System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (TimeSpan timeout) la System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage() ".
Avertisment 2
Adaptor "WCF-Oracle" ridicat un mesaj de eroare. Detalii "System.TimeoutException: timeout" 00: 02:00 "în timp ce funcția"WaitForMessage"de executare a expirat. la Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired() la Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (OracleCommand comandă, TimeoutHelper timeoutHelper) la Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteScalar (OracleCommand comandă, OracleCommonExecutionHelper executionHelper) la Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage () OracleCommonExecutionHelper executionHelper, OracleCommonConnectionWrapper conexiune) la Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper) la Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (TimeSpan timeout) la Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (TimeSpan timeout) la System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (TimeSpan timeout) la System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage() ".
Cauză
Această problemă apare deoarece locația de primire repornește în mod neașteptat atunci când metoda WaitForMessage generează o excepție TimeoutException . Atunci când metoda WaitForMessage generează o excepție TimeoutException , TryReceive metoda este denumit și apoi adaptor WCF-SQL sau adaptor WCF-Oracle face revenirea tranzacției. Cu toate acestea, operațiunea de revenire poate genera o excepție ObjectDisposedException . De aceea, una dintre avertismentele menţionate în secţiunea "Simptome" este generată.
Rezolvare
Informații despre actualizarea cumulativă
BizTalk Adapter Pack 2010
Remedierea rapidă care rezolvă această problemă este inclus în pachetul de actualizare cumulativă 2 pentru BizTalk Adapter Pack 2010. Pentru mai multe informații despre cum se obține acest pachet de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:2572999pachetul de actualizare cumulativă 2 pentru BizTalk Adapter Pack 2010
BizTalk Adapter Pack 2.0
Remedierea rapidă care rezolvă această problemă este inclus în pachetul de actualizare cumulativă 3 pentru BizTalk Adapter Pack 2.0. Pentru mai multe informații despre cum se obține pachetul de actualizare cumulativă, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
2557150 Pachetul de actualizare cumulativă 3 pentru BizTalk Adapter Pack 2.0NotăAceastă remediere rapidă adaugă < TraceIdentifier > și < / TraceIdentifier > Tag-uri care sunt necesare în fișierul de urmărire WCF (.svcLog). După remedierea rapidă adaugă aceste etichete, datele de ieșire în fișierele de urmărire este corectată și Service Trace Viewer Tool (SvcTraceViewer.exe) se deschide fişiere mari de urmărire WCF mai rapid. Următoarele :: Exit urme lipsa < TraceIdentifier > și < / TraceIdentifier > Tag-uri înainte de a aplica această remediere rapidă: < Descrierea > ExecuteNonQuery::Exit < / Descrierea >< Descrierea > OpenConnection::Exit < / Descrierea >< ExecuteScalar::Exit Descrierea > < / Descrierea >< Polling_WaitForMessage::Exit Descrierea > < / Descrierea >
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Mai multe informații
Pentru mai multe informații despre metoda IInputChannel.WaitForMessage , vizitați următorul site Web MSDN:
Informații generale despre metoda IInputChannel.WaitForMessagePentru mai multe informații despre metoda IInputChannel.TryReceive , vizitați următorul site Web MSDN:
Informații generale despre metoda IInputChannel.TryReceivePentru mai multe informații despre remedierile rapide BizTalk Server, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
2003907 Informații despre remedierile rapide BizTalk Server