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.  Saat lisätietoja kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin saat artikkelin Microsoft Knowledge Base -tietokannassa: 2539794BizTalk Adapter Pack 2010:n kumulatiivinen päivityspaketti 1    

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

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.