В данной статье относится к следующим продуктам:
-
С пакетом обновления адаптера BizTalk 2.0
-
С пакетом обновления адаптера BizTalk 2010
Проблема
При использовании одного из следующих адаптеров, включенных в 2.0 с пакетом обновления адаптера BizTalk Microsoft или Microsoft 2010 с пакетом обновления адаптера BizTalk на место получения неожиданно перезагружается место получения:
-
Windows Communication Foundation (WCF)-адаптер SQL
-
Адаптер WCF Oracle
Кроме того BizTalk Server может возникнуть исключение ConnectionException , а затем перезагрузите сервер BizTalk может после в журнале приложений регистрируется одно из следующих предупреждений.
Адаптер WCF SQL
Предупреждение 1
«Адаптер ««WCF-SQL»» появляется сообщение об ошибке. Сведения о «"System.ObjectDisposedException: не удается получить доступ к удаленного объекта. Имя объекта: «Транзакции» .at System.Transactions.Transaction.Rollback (Exception e) в Microsoft.Adapters.Sql.SqlAdapterInboundHandler.TryReceive (время ожидания TimeSpan, сообщение & сообщение, IInboundReply & ответ) в Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.TryReceive (время ожидания TimeSpan, сообщения и сообщения) в System.ServiceModel.Dispatcher.InputChannelBinder.TryReceive (время ожидания TimeSpan, RequestContext & requestContext) в System.ServiceModel.Dispatcher.ErrorHandlingReceiver.TryReceive (время ожидания TimeSpan, RequestContext & requestContext)»».»
Предупреждение 2
«Адаптер ««WCF-SQL»» появляется сообщение об ошибке. Сведения о «"System.TimeoutException: исключение типа «System.TimeoutException» () Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired thrown.at в Microsoft.Adapters.Sql.ExecutionHelper.ExecuteScalar (SqlCommand sqlCommand, TimeoutHelper timeoutHelper) в Microsoft.Adapters.Sql.SqlAdapterInboundHandler.Polling_WaitForMessage (TimeoutHelper timeoutHelper) в В Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (время ожидания TimeSpan) в Microsoft.Adapters.Sql.SqlAdapterInboundHandler.WaitForMessage (время ожидания TimeSpan) System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage в System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage() (время ожидания TimeSpan)»».»
Адаптер WCF Oracle
Предупреждение 1
Адаптер «WCF-Oracle» появляется сообщение об ошибке. Сведения о «Microsoft.ServiceModel.Channels.Common.ConnectionException: тайм-аут «00: 02:00» истек срок действия во время выполнения функции «WaitForMessage». ---> System.TimeoutException: тайм-аут «00: 02:00» истек срок действия во время выполнения функции «WaitForMessage». в Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired() на Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (команда OracleCommand, TimeoutHelper timeoutHelper) на Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteNonQuery (команда OracleCommand, OracleCommonExecutionHelper executionHelper) в Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection () OracleCommonExecutionHelper executionHelper)---конец трассировки стека внутреннего исключения---в Microsoft.Adapters.OracleDB.OracleDBConnection.OpenConnection (OracleCommonExecutionHelper executionHelper) в В Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (время ожидания TimeSpan) в Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper) В System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (время ожидания TimeSpan) в Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (время ожидания TimeSpan) System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage()».
Предупреждение 2
Адаптер «WCF-Oracle» появляется сообщение об ошибке. Сведения о «System.TimeoutException: тайм-аут «00: 02:00» истек срок действия во время выполнения функции «WaitForMessage». в Microsoft.Adapters.AdapterUtilities.TimeoutHelper.GetRemainingTimeoutAndThrowDefaultExceptionMessageIfExpired() на Microsoft.Adapters.OracleCommon.OracleCommonUtils.SetCommandTimeout (команда OracleCommand, TimeoutHelper timeoutHelper) на Microsoft.Adapters.OracleCommon.OracleCommonUtils.ExecuteScalar (команда OracleCommand, OracleCommonExecutionHelper executionHelper) в Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage () OracleCommonExecutionHelper executionHelper OracleCommonConnectionWrapper подключения) на Microsoft.Adapters.OracleDB.OracleDBInboundContract.Polling_WaitForMessage (OracleCommonExecutionHelper executionHelper) в В Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.WaitForMessage (время ожидания TimeSpan) в Microsoft.Adapters.OracleDB.OracleDBInboundContract.WaitForMessage (время ожидания TimeSpan) System.ServiceModel.Dispatcher.InputChannelBinder.WaitForMessage (время ожидания TimeSpan) в System.ServiceModel.Dispatcher.ErrorHandlingReceiver.WaitForMessage()».
Причина
Эта проблема возникает из-за расположения приема перезагружается при метод WaitForMessage создает исключение TimeoutException . Когда метод WaitForMessage создает исключение TimeoutException , вызывается метод TryReceive и затем WCF SQL или WCF Oracle адаптер выполняет откат транзакции. Однако операция отката может создавать исключение ObjectDisposedException . Таким образом формируется одно из предупреждений, описанные в разделе «Проблема».
Решение
Сведения о накопительном пакете обновления
Адаптер BizTalk для пакета 2010
Исправление, устраняющее эту проблему включено в накопительный пакет обновления 2 для 2010 с пакетом обновления адаптера BizTalk. Дополнительные сведения о том, как получить этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:2572999накопительный пакет обновления 2 для 2010 с пакетом обновления адаптера BizTalk
Для адаптера BizTalk Pack 2.0
Исправление, устраняющее эту проблему, включено в накопительный пакет обновления 3 для 2.0 с пакетом обновления адаптера BizTalk. Дополнительные сведения о том, как получить накопительный пакет обновления, щелкните следующий номер статьи базы знаний Майкрософт:
2557150 Накопительный пакет обновления 3 для 2.0 с пакетом обновления адаптера BizTalkПримечание. Данное исправление добавляет < TraceIdentifier > и < / TraceIdentifier > теги, которые необходимы в файле трассировки WCF (.svcLog). После исправление добавляет эти теги, исправлены выходные данные в файлы трассировки и средство просмотра трассировки службы (SvcTraceViewer.exe) открывает большие файлы трассировки WCF быстрее. Следующие :: выход трассировок не хватает < TraceIdentifier > и < / TraceIdentifier > теги перед установкой исправления: описание < > ExecuteNonQuery::Exit < / описание >< описание > OpenConnection::Exit < / описание >< ExecuteScalar::Exit описание > < / описание >< Polling_WaitForMessage::Exit описание > < / описание >
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Дополнительная информация
Дополнительные сведения о методе IInputChannel.WaitForMessage посетите следующий веб-узел MSDN:
Общие сведения о методе IInputChannel.WaitForMessageДополнительные сведения о методе IInputChannel.TryReceive посетите следующий веб-узел MSDN:
Общие сведения о методе IInputChannel.TryReceiveДополнительные сведения об исправлениях BizTalk Server щелкните следующий номер статьи базы знаний Майкрософт:
2003907 Сведения об исправлениях с BizTalk Server.