De makkelijkste manier om een SOAP request te versturen met LoadRunner is via het protocol Web Services. Je kan dan door het importeren van een WSDL heel simpel een zogenaamde web_service_call maken.
Er zijn echter meerdere redenen te bedenken waarom je uiteindelijk niet voor dit protocol kiest, maar voor het Web (HTTP/HTML) protocol:
Je hebt geen (correcte) WSDL waardoor de toegevoegde waarde van Web Services protocol wegvalt;
Je hebt geen Web Services protocol in je licentie (dit hoeft vanaf LoadRunner 12 geen probleem meer te zijn met de Community License);
Je hebt onvoldoende virtual users voor Web Services protocol in de licentie zitten, maar wel genoeg users van het type Web (HTTP/HTML);
Je wilt kosten besparen: het Web Services protocol is beschikbaar in de duurdere licentie bundels van de leverancier terwijl je ook via het Web (HTTP/HTML) protocol soap requests kan versturen. En dit protocol zit ook in de goedkopere licentie bundels.
Om een script te kunnen maken met Web (HTTP/HTML) protocol dat een SOAP requests verstuurt, heb je het volgende nodig:
Het URL end-point;
De SOAP-request (inhoud);
De waarde voor SOAPAction header.
Wanneer je een WSDL hebt, kan je uit de WSDL het URL end-point (address location) en de waarde voor SOAPAction header (operation soapAction) halen.
De SOAP request zelf is niet zo makkelijk te bepalen. Je zou hiervoor een voorbeeldbericht moeten hebben of deze zelf moeten maken via bijvoorbeeld SoapUI of LoadRunner (met protocol Web Services). Deze kan je met tools als Fiddler en Wireshark dan achterhalen.
Wanneer bovenstaande data compleet is, kunnen we het script maken in LoadRunner:
Creëer een nieuw script in LoadRunner VUGen met het Web (HTTP/HTML) protocol;
Kies voor Insert New Step (Alt+Insert of Design > Insert in Script > New Step);
Kies voor web_custom_request;
Nu zie je het volgende scherm:
5. Verander de Method naar POST;
6. Vul de URL end-point in bij URL;
7. Vul de SOAP request in bij Body. In Body alles selecteren en via rechtermuisknop
kiezen voor Convert to C Format;
8. Klik op OK;
9. Nu zie je scriptcode waaraan je twee web_add_headers moet toevoegen (voor de
web_custom_request):
a. web_add_header(“SOAPAction”, “< waarde voor SOAPAction header >”);
b. web_add_header(“Content-Type”, “text/xml;charset=UTF-8”);
10. Klaar!
Hopelijk heb je hier wat aan gehad. Mocht je hierover vragen of andere tips en tricks hebben of wil je gewoon reageren? Wij horen het graag!
Kommentare