ИСПРАВИТЬ: Доступно обновление, добавляющее свойство привязки ClearRfcContext адаптера SAP на основе WCF из 2.0 с пакетом обновления адаптера BizTalk или 2010 с пакетом обновления адаптера BizTalk

Относится к

Данная статья применима к:

  • Microsoft BizTalk Adapter Pack 2.0

  • Пакет Microsoft BizTalk адаптер 2010

Введение

В данной статье рассматривается обновление, включенных в накопительное обновление, чтобы добавить свойство привязки ClearRfcContext адаптера SAP на основе Microsoft Windows Communication Foundation WCF из пакета обновления адаптера BizTalk.

Проблемы

Рассмотрим следующий сценарий.

  • У вас есть компьютер под управлением Microsoft BizTalk Server 2006 R2, Microsoft BizTalk Server 2009 или Microsoft BizTalk Server 2010.

  • Для подключения к серверу SAP R/3 использовании адаптера SAP на основе WCF.Примечание. SAP на основе WCF адаптер включен в 2.0 с пакетом обновления адаптера BizTalk Microsoft или Microsoft 2010 с пакетом обновления адаптера BizTalk.

  • Создайте приложение BizTalk, использующий адаптер SAP для вызова удаленные вызовы функций (RFC), использующие SAP глобальных переменных на сервере SAP R/3.

  • Свойство привязки EnableConnectionPooling присвоено значение True.

В этом сценарии вы Обратите внимание, что данные, возвращаемые RFC не соответствует ожидаемому. Кроме того данные, возвращаемые кажется, подверженных предыдущего вызова, которое было сделано то же свойство привязки RFCs.The ClearRfcContext можно предотвратить проблемы, похожие на те, которые возникают в этом сценарии.

Причина

Данная проблема возникает, когда пул соединений включен, соответствующие SAP подключение возвращается в пул подключений после выполнения вызова RFC на сервере SAP R/3. При получении следующего вызова RFC, то же подключение SAP извлекается из пула подключений и используется для выполнения вызова. Если RFC использует некоторые глобальные переменные, и они не очищаются должным образом, следующий вызов RFC использует значения, хранящиеся в глобальных переменных из предыдущего вызова. Такая ситуация может привести к непредсказуемым результатам.Примечание. Эта проблема возникает только в том случае, если RFC использует глобальные переменные и глобальные переменные не очищаются должным образом с RFC.

Решение

Чтобы устранить эту проблему, установите это обновление. Затем установите свойство привязки ClearRfcContext значение True.

Сведения о накопительном пакете обновления

С пакетом обновления адаптера BizTalk 2010

Исправление, устраняющее эту проблему включен в накопительное обновление 1 для 2010 с пакетом обновления адаптера BizTalk.  Дополнительные сведения о том, как получить накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт: 2539794накопительный пакет обновления 1 для 2010 с пакетом обновления адаптера BizTalk

С пакетом обновления адаптера BizTalk 2.0

Это исправление было выпущено сначала в накопительный пакет обновления 2 для 2.0 с пакетом обновления адаптера BizTalk. Дополнительные сведения о том, как получить этот накопительный пакет обновления, щелкните следующий номер статьи базы знаний Майкрософт:

2531605 Накопительный пакет обновления 2 для 2.0 с пакетом обновления адаптера BizTalk

Дополнительная информация

Заметки об обновлении

  • Свойство привязки ClearRfcContext применим только в том случае, когда свойство привязки EnableConnectionPooling имеет значение True.

  • Без этого обновления адаптера SAP на основе WCF не очищает контекст SAP R/3. Таким образом поведение очень похожа на то, что происходит, когда свойство привязки ClearRfcContext имеет значение False. Значение по умолчанию — False.

  • Когда пул соединений включен и свойство привязки ClearRfcContext имеет значение True, адаптер очищает SAP R/3 сеанса и очищает все глобальные переменные на стороне сервера SAP. Таким образом следующий вызов в том же соединении SAP не подвержены любое состояние, был получен путем текущего вызова.

  • Когда пул соединений включен и свойство привязки ClearRfcContext имеет значение False, адаптер очищает SAP R/3 сеанса. В этом случае если RFC использует некоторые глобальные переменные и переменные не очищаются должным образом, следующий вызов RFC может использовать значения, которые хранятся в глобальных переменных из текущего вызова. Этой ситуации можно дать непредвиденные результаты.

  • Так как свойство привязки ClearRfcContext требует дополнительного обмена данными с сервером SAP R/3, можно увидеть небольшое снижение производительности при установке свойства привязки ClearRfcContext значение True. Рекомендуется устанавливать свойство привязки ClearRfcContext значение True только в том случае, когда RFC использует глобальные переменные и RFC не Очистка глобальные переменные соответствующим образом.

  • При использовании адаптера в сценарии прокси как из кода .NET, может потребоваться снять SAP R/3 сеанса между вызовами RFC на один и тот же экземпляр прокси-сервера/канала. В данном обновлении новую операцию, которая называется RfcClearContext доступна в узле RFC мастер Add Service Reference адаптера при выборе параметра SapBinding . Операция RfcClearContext пытается очистить контекст SAP R/3 и возвращает одно из следующих:

    • True – Очистка контекст SAP R/3 выполнена успешно. Можно сделать дополнительные вызовы прокси-сервера/канала.

    • False - соединение закрыто или разработаны ошибку при попытке очистить SAP R/3 контекст операции. Следует отказаться от текущего прокси-сервера/канала, поскольку любые дальнейшие вызовы может привести к ошибке связи.

Ссылки

Дополнительные сведения о том, как установить подключение к системе SAP, посетите следующий веб-узел Microsoft Developer Network (MSDN):

Подключения к системе SAPДополнительные сведения об исправлениях BizTalk Server щелкните следующий номер статьи базы знаний Майкрософт:

2003907 Сведения об исправлениях с BizTalk Server.

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×