Отнася се за
Тази статия се отнася за следното:
-
Microsoft BizTalk адаптер за пакет 2.0
-
Microsoft BizTalk адаптер Pack 2010
Въведение
Тази статия се описва актуализация, включени в сборната актуализация, за да добави ClearRfcContext свързване на Microsoft Windows комуникация фондация WCF базирани SAP адаптер от пакета Microsoft BizTalk адаптер.
Симптоми
Да разгледаме следния сценарий:
-
Имате компютър, на който се изпълнява Microsoft BizTalk Server 2006 R2, Microsoft BizTalk Server 2009 или Microsoft BizTalk Server 2010.
-
Използвате базирана на WCF SAP адаптер за свързване към сървъра на SAP R/3.Забележка WCF базирани SAP адаптер е включен в Microsoft BizTalk адаптер за пакет 2.0 или Microsoft BizTalk адаптер Pack 2010.
-
Можете да създадете 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 адаптер Pack 2010
Актуалната корекция, която разрешава този проблем е включен в сборна актуализация 1 за BizTalk адаптер Pack 2010. За повече информация как да получите сборния пакет за актуализация, щракнете върху следния номер на статия в базата знания на Microsoft: 2539794сборния пакет за актуализация 1 за BizTalk адаптер Pack 2010
BizTalk адаптер за пакет 2.0
Тази корекция е пусната в сборния пакет за актуализация 2 BizTalk адаптер за пакет 2.0. За повече информация как да получите този пакет със сборни актуализации щракнете върху следния номер на статия в базата знания на Microsoft:
2531605 Сборния пакет за актуализация 2 за BizTalk адаптер за пакет 2.0
Повече информация
Бележки за актуализацията
-
ClearRfcContext свързване е приложим само когато свойството за свързване на EnableConnectionPooling е зададен на True.
-
Без тази актуализация базирани на WCF SAP адаптер не е ясно SAP R/3 контекст. Поради това поведение е идентична с какво се случва, когато свойството за свързване на ClearRfcContext е зададено на False. Стойността по подразбиране е False.
-
При обединяване на връзка е разрешена и свойството за свързване на ClearRfcContext е вярно, карта премахва 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 възела на съветника за добавяне на препратка към услуга на карта, когато е избрана опцията SapBinding . RfcClearContext операцията се опитва да изчисти SAP R/3 контекст и връща един от следните:
-
Вярно -Почистване на SAP R/3 контекст е успешно. Можете да направите допълнителни разговори на прокси/канал.
-
Грешен - връзката затворена или разработени грешка, когато операцията се опита да почистите системата SAP R/3. Трябва да отхвърлите текущата прокси сървър/канал, защото всяка следваща покана може да доведе до грешка съобщение.
-
Препратки
За повече информация как да се установи връзка към системата за SAP посетете следния уеб сайт на Microsoft Developer Network (MSDN):
Създаване на връзка към системата за SAPЗа повече информация относно BizTalk Server спешни корекции щракнете върху следния номер на статия в базата знания на Microsoft:
2003907 Информация за BizTalk Server актуални корекции