Koskee seuraavia:
Tämä artikkeli koskee seuraavia:
-
Microsoft BizTalk Adapter Pack 2.0
-
Microsoft BizTalk Adapter Pack 2010
Johdanto
Tässä artikkelissa kerrotaan päivityksestä, joka sisältyy kumulatiiviseen päivitykseen, jonka avulla Lisätään ClearRfcContext-sidonta-ominaisuus Microsoft Windows Communication Foundation (WCF)-pohjaiseen SAP-sovittimeen Microsoft BizTalk Adapter Packista.
Ongelman oireet
Oletetaan seuraava tilanne:
-
Sinulla on tietokone, jossa on käytössä Microsoft BizTalk Server 2006 R2, Microsoft BizTalk Server 2009 tai Microsoft BizTalk Server 2010.
-
Voit muodostaa yhteyden SAP R/3 -palvelimeen WCF-pohjaisen SAP-sovittimen avulla.
Huomautus: WCF-pohjainen SAP-sovitin sisältyy Microsoft BizTalk Adapter Pack 2.0- tai Microsoft BizTalk Adapter Pack 2010 -pakettiin. -
Luot BizTalk-sovelluksen, joka käyttää SAP-sovitinta etäfunktiokutsujen kutsumiseen, joka käyttää SAP:n yleisiä muuttujia SAP R/3 -palvelimessa.
-
EnableConnectionPooling-sidontaominaisuuden arvoksi määritetään Tosi.
Tässä skenaariossa huomaat, että tarjouspyyntöjen palauttama tieto ei vastaa odotettua. Lisäksi tietoihin, jotka palautetaan, vaikuttaa siltä, että samalle tarjouspyynnölle aiemmin sälytettiin puhelu. ClearRfcContext-sidonta-ominaisuus voi estää samankaltaisia ongelmia kuin tässä skenaariossa.
Syy
Tämä ongelma johtuu siitä, että kun yhteys varastettiin, vastaava SAP-yhteys palautetaan yhteysklusteriin, kun SAP R/3 -palvelimen RFC-puhelu on suoritettu. Kun seuraava RFC-puhelu saapuu, sama SAP-yhteys noudetaan yhteys altaasta ja sitä käytetään puhelun suorittamiseen.
Jos RFC käyttää joitakin yleisiä muuttujia ja jos niitä ei siivota asianmukaisesti, RFC:n seuraava kutsu käyttää arvoja, jotka on tallennettu edellisen puhelun yleisiin muuttujiin. Tämä tilanne voi johtaa odottamattomiin tuloksiin. Huomautus: Tämä ongelma ilmenee vain, jos RFC käyttää yleisiä muuttujia ja jos RFC ei puhdista yleisiä muuttujia asianmukaisesti.Ratkaisu
Voit ratkaista tämän ongelman päivityksellä. Määritä sitten ClearRfcContext-sidonta-ominaisuuden arvoksi Tosi.
Kumulatiiviset päivitystiedot
BizTalk-sovitinpaketti 2010
Tämän ongelman korjaava hotfix-korjaus sisältyy BizTalk Adapter Pack 2010:n kumulatiiviseen päivitykseen 1. 2539794BizTalk Adapter Pack 2010:n kumulatiivinen päivityspaketti 1
Saat lisätietoja kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin saat artikkelin Microsoft Knowledge Base -tietokannassa:BizTalk-sovitinpaketti 2.0
Tämä korjaus julkaistiin ensimmäisen kerran BizTalk Adapter Pack 2.0:n kumulatiivisen päivityksen paketissa 2. Saat lisätietoja tämän kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin artikkeli tulee luettavaksi Microsoft Knowledge Base -tietokannassa:
2531605 BizTalk-sovittimen pack 2.0:n kumulatiivinen päivityspaketti 2
Lisätietoja
Tietoja tästä päivityksestä
-
ClearRfcContext-sidonta-ominaisuus on käytettävissä vain, kun EnableConnectionPooling-sidontaominaisuuden asetuksena on Tosi.
-
Ilman tätä päivitystä WCF-pohjainen SAP-sovitin ei poista SAP R/3 -kontekstia. Tämän vuoksi toiminta on sama kuin se, mitä tapahtuu, kun ClearRfcContext-sidontaominaisuuden arvoksi on määritetty Epätosi. Oletusarvo on Epätosi.
-
Kun yhteys varannon asetus on käytössä ja ClearRfcContext-sidontaominaisuuden arvoksi on määritetty Tosi,sovitin tyhjentää SAP R/3 -istunnon ja tyhjentää kaikki yleiset muuttujat SAP-palvelimen puolelta. Tästä syystä saman SAP-yhteyden seuraavaan puheluun ei vaikuta mikään osavaltio, joka on saatu nykyisestä puhelusta.
-
Kun yhteys varannon asetus on käytössä ja ClearRfcContext-sidontaominaisuuden asetuksena on Epätosi, sovitin ei tyhjennä SAP R/3 -istuntoa. Jos RFC käyttää tässä tapauksessa joitakin yleisiä muuttujia eikä muuttujia siivota asianmukaisesti, RFC:n seuraavassa kutsussa voidaan käyttää arvoja, jotka on tallennettu nykyisen puhelun yleisiin muuttujiin. Tämä tilanne voi antaa odottamattomia tuloksia.
-
Koska ClearRfcContext-sidonta-ominaisuus vaatii ylimääräisen pyöristysnauhan SAP R/3 -palvelimeen, suorituskyky saattaa pienentyä hieman, kun määrität ClearRfcContext-sidontaominaisuuden arvoksi Tosi. Suosittelemme, että määrität ClearRfcContext-sidontaominaisuuden arvoksi Tosi vain, jos RFC käyttää yleisiä muuttujia ja RFC ei puhdista yleisiä muuttujia asianmukaisesti.
-
Kun käytät sovitinta välityspalvelimen skenaariossa, kuten .NET-koodista, haluat ehkä tyhjentää SAP R/3 -istunnon RFC-puhelujen välillä samassa välityspalvelimessa/kanavaesiintymässä. Tässä päivityksessä uusi RfcClearContext-toiminto on käytettävissä ohjatun sovittimen palveluviittauksen lisäämisen RFC-solmussa, kun SapBinding-vaihtoehto on valittuna. RfcClearContext-toiminto yrittää puhdistaa SAP R/3 -kontekstin ja palauttaa yhden seuraavista:
-
Tosi – SAP R/3 -kontekstin puhdistaminen onnistui. Voit soittaa lisää puheluita välityspalvelimella tai kanavalla.
-
Epätosi – Yhteys sulki tai kehitti virheen, kun toiminto yritti puhdistaa SAP R/3 -kontekstin. Hylkää nykyinen välityspalvelin/kanava, koska muut puhelut voivat aiheuttaa viestintävirheen.
-
Lisätietoja
Lisätietoja yhteyden muodostamisesta SAP-järjestelmään on seuraavassa Microsoft Developer Network (MSDN) -sivustossa:
Yhteyden muodostaminen SAP-järjestelmäänSaat lisätietoja BizTalk Serverin hotfix-korjauksista napsauttamalla seuraavaa artikkelin numeroa, jolloin saat artikkelin microsoft Knowledge Base -tietokannassa:
2003907 Tietoja BizTalk Serverin hotfix-korjauksista