KORRIGERA: Finns en uppdatering som lägger till egenskapen ClearRfcContext bindning till WCF-baserade SAP-kortet från BizTalk Adapter Pack 2.0 eller BizTalk Adapter Pack 2010

Den här artikeln gäller följande:

  • Microsoft BizTalk Adapter Pack 2.0

  • Microsoft BizTalk Adapter Pack 2010

Den här artikeln beskrivs en uppdatering som ingår i en kumulativ uppdatering för att lägga till egenskapen ClearRfcContext bindning Microsoft Windows Communication Foundation WCF-baserade SAP-kortet från Microsoft BizTalk Adapter Pack.

Föreställ dig följande:

  • Du har en dator som kör Microsoft BizTalk Server 2006 R2, Microsoft BizTalk Server 2009 eller Microsoft BizTalk Server 2010.

  • Du kan använda WCF-baserade SAP-kortet för att ansluta till servern för SAP-R/3.OBS! WCF-baserade SAP-kortet ingår i Microsoft BizTalk Adapter Pack 2.0 eller Microsoft BizTalk Adapter Pack 2010.

  • Du kan skapa ett BizTalk-program som använder SAP-kortet för att anropa fjärranslutna funktionsanrop (RFC) som använder SAP globala variabler på SAP R/3 server.

  • Du kan ange bindningsegenskapen EnableConnectionPooling till True.

I det här scenariot märker du att de data som returneras av RFC är inte vad du förväntade dig. Dessutom verkar data som returneras kan förhindra att problem liknande dem som förekommer i det här scenariot ska påverkas av ett tidigare anrop gjordes till samma bindningsegenskapen för RFCs.The ClearRfcContext .

Det här problemet uppstår eftersom när anslutningspool har aktiverats motsvarande SAP-anslutningen returneras till anslutningspoolen när RFC-anrop på SAP R/3 servern har körts. När RFC nästa samtal anländer samma SAP-anslutning hämtas från anslutningspoolen och används för att utföra samtalet. Om RFC använder vissa globala variabler och de inte rensas korrekt använder nästa anrop till RFC de värden som lagras i de globala variablerna från tidigare samtal. Detta kan leda till oväntade resultat.OBS! Detta problem uppstår endast om RFC använder globala variabler och globala variabler inte rensas korrekt av RFC.

Lös problemet genom att installera denna uppdatering. Ange bindningsegenskapen för ClearRfcContext till True.

Den snabbkorrigering som löser problemet ingår i kumulativ uppdatering 1 för BizTalk Adapter Pack 2010.  Mer information om hur du skaffar det kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base: 2539794kumulativt uppdateringspaket 1 för BizTalk Adapter Pack 2010

Denna korrigeringsfil gavs först ut i kumulativt uppdateringspaket 2 för BizTalk Adapter Pack 2.0. Mer information om hur du skaffar den här kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2531605 Kumulativt uppdateringspaket 2 för BizTalk Adapter Pack 2.0

  • ClearRfcContext bindningsegenskapen gäller endast när EnableConnectionPooling binding-egenskapen har värdet True.

  • Utan den här uppdateringen avmarkera WCF-baserade SAP-kortet inte SAP R/3 kontext. Därför är identisk med vad som händer när ClearRfcContext binding-egenskapen har värdet False. Standardvärdet är False.

  • När anslutningspool har aktiverats och ClearRfcContext binding-egenskapen har värdet True, tömmer SAP R/3 session kortet och rensar alla globala variabler på serversidan SAP. Nästa samtal på samma anslutning för SAP är därför inte påverkas av alla tillstånd som erhållits genom det aktuella samtalet.

  • När anslutningspool har aktiverats och ClearRfcContext binding-egenskapen har värdet False, avmarkera kortet inte SAP R/3 session. I det här fallet om RFC använder vissa globala variabler och variabler rensas inte korrekt kanske nästa anrop till RFC använder de värden som lagras i de globala variablerna från det aktuella samtalet. Denna situation kan ge oväntade resultat.

  • Eftersom bindningsegenskapen ClearRfcContext kräver en extra tur och RETUR till servern SAP-R/3, kan du se en liten minskning av prestanda när du anger ClearRfcContext bindning-egenskap till True. Vi rekommenderar att du anger bindningsegenskapen ClearRfcContext till True när RFC använder globala variabler och RFC inte rensa globala variabler på lämpligt sätt.

  • När du använder kortet i ett scenario med proxy som från .NET kod, kanske du vill rensa SAP R/3 session mellan RFC samtal på samma instans proxy-kanal. I den här uppdateringen är en ny funktion som heter RfcClearContext tillgänglig under noden RFC i guiden Lägg till Adapter Service referens när alternativet för SapBinding är markerat. RfcClearContext -åtgärden försöker Rensa kontexten SAP R/3 och returnerar ett av följande:

    • Sant – rengöring av kontexten SAP R/3 lyckades. Du kan göra ytterligare anrop på kanal/proxy.

    • Falskt - anslutningen stängs eller utvecklat ett fel när åtgärden försökte Rensa kontexten SAP-R/3. Du bör Ignorera aktuell proxy/kanal, eftersom alla ytterligare anrop kan leda till ett kommunikationsfel.

Mer information om hur du upprättar en anslutning till SAP-system finns på följande Microsoft Developer Network (MSDN)-webbplats:

Upprätta en anslutning till SAP-systemetMer information om snabbkorrigeringar för BizTalk Server klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:

2003907 Information om snabbkorrigeringar för BizTalk Server

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Hur nöjd är du med översättningskvaliteten?

Vad påverkade din upplevelse?

Har du ytterligare feedback? (Valfritt)

Tack för din feedback!

×