Table des matières
Ce tutoriel décrit comment concevoir un utilisateur virtuel comprenant des requêtes SOAP. Il présente trois différentes méthodes de création de requêtes SOAP depuis NeoLoad: à partir d'un fichier WSDL, à partir de zéro, ou bien depuis une séquence d'enregistrement.
Afin de bien comprendre ce tutoriel, il est conseillé d'avoir lu auparavant la section "Les requêtes SOAP".
De la même manière que NeoLoad vous laisse définir et tester des interactions HTTP, NeoLoad fournit le moyen de tester en charge des requêtes SOAP. Les requêtes SOAP sont similaires en de nombreux points aux requêtes HTTP classiques. Cela signifie que toutes les fonctionnalités de NeoLoad concernant les requêtes HTTP sont disponibles pour SOAP. Cela inclut, entre autres, l'utilisation de variables, définir des validations et bien sûr obtenir des résultats de test. Cependant, noter que les requêtes SOAP diffèrent des requêtes HTTP classiques de plusieurs façons:
Les requêtes SOAP ne sont pas obligatoirement associées à des Pages web comme le sont les requêtes HTTP classiques. Si vous enregistrez une page HTML contenant des appels SOAP, ces requêtes seront associées à la page. En revanche, si vous enregistrez uniquement des requêtes SOAP, ces requêtes apparaîtront comme des requêtes indépendantes. Apprenez en plus sur le sujet dans la section intitulée « Enregistrer une requête SOAP ».
Les requêtes SOAP indépendantes n'appartiennent pas à une page
web et n'ont donc pas de Temps
d'attente associé. Si vous voulez tester une séquence
d'appels SOAP, vous devez utiliser des actions
Délai pour simuler les temps d'attente. Pour plus
de détails sur les actions Délai, voir le guide de
référence.
La façon dont NeoLoad affiche les résultats diffère de l'affichage des résultats de pages web classiques. Voir la section intitulée « Un aperçu de l'analyse des résultats SOAP ».
NeoLoad fournit trois moyens de définir une requête SOAP:
Notre premier exemple utilise un service web fourni par StrikeIron, ce service est un service de déguisement de texte appelé CAPTCHA. Si vous enregistrez votre email, vous pouvez tester gratuitement ce service. Le WSDL est disponible à http://ws.strikeiron.com/textdisguise/CaptchaService?WSDL.
Un CAPTCHA ("Completely Automated Public Turing test to tell Computers and Humans Apart") ou en Français: "un Test public de Turing complètement automatique qui différencie ordinateurs et humains" est un programme qui génère une image que la plupart des humains peuvent voir, mais dont le texte ne peut être extrait par un ordinateur. De nombreuses applications ont besoin de s'assurer que ce qui interagit avec elles est bien un humain et non pas un "robot". Le camouflage de texte résout ce problème en affichant un mot dans une image déformée. L'utilisateur doit spécifier la valeur lue avant de continuer.
Le web service CAPTCHA définit deux méthodes nommées
GetNewWord et ValidateImageWord. La
première méthode, GetNewWord, n'attend aucun argument.
Elle retourne un identifiant d'image et un lien vers cette image. L'image
peut être affichée et l'utilisateur doit entrer le texte qu'il
voit.

La deuxième méthode, ValidateImageWord, attend
deux arguments, le texte entré par l'utilisateur et l'identifiant d'image.
La méthode retourne true si le texte correspond à
l'image et false sinon.
La requête HTTP d'un appel à la méthode
GetNewWord ressemble à:
POST http://ws.strikeiron.com/textdisguise/CaptchaService
Content-Type: text/xml; charset=utf-8
SOAPAction: "http://www.textdisguise.com/TextDisguise/CaptchaService/GetNewWord"
User-Agent: Jakarta Commons-HttpClient/3.0
Host: ws.strikeiron.com
Content-Length: 723
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<ns1:LicenseInfo
xmlns:ns1="http://ws.strikeiron.com"
soapenv:actor="" soapenv:mustUnderstand="0">
<ns1:UnregisteredUser>
<ns1:EmailAddress>john.doe@dot.com</ns1:EmailAddress>
</ns1:UnregisteredUser>
<ns1:RegisteredUser>
<ns1:UserID/>
<ns1:Password/>
</ns1:RegisteredUser>
</ns1:LicenseInfo>
</soapenv:Header>
<soapenv:Body>
<GetNewWord
xmlns="http://www.textdisguise.com/TextDisguise/CaptchaService/">
<GetNewWord/>
</GetNewWord>
</soapenv:Body>
</soapenv:Envelope>Plusieurs points valent la peine d'être notés:
L'entête HTTP définit le point d'accès ("End point") de la
méthode, c'est à dire l'URL du service qui est dans notre cas:
http://ws.strikeiron.com/textdisguise/CaptchaService.
L'entête HTTP contient un élément SOAPAction
.
La requête définit le content type: "text/xml".
L'entête SOAP attend un élément
nsl:unregisteredUser qui doit contenir votre
adresse email.
Le corps de la requête SOAP body (l'élément
soapenv:Body) contient uniquement une référence à
la méthode invoquée (GetNewWord) et n'a pas de
paramètre.
Ces éléments sont générés automatiquement à partir de la définition WSDL et l'interface de NeoLoad vous permet de les modifier si besoin.
La procédure suivante décrit les étapes de création d'une requête SOAP:
Créer et définir la requête SOAP définie sur la définition WSDL.
Configurer la requête et modifier les paramètres.
Tester la requête
Créer une requête SOAP
Sélectionner le mode
Conception de NeoLoad.
Sélectionner le bouton
.
Créer un Utilisateur virtuel
Cliquez au bouton droit le noeud Profils
d'utilisateurs virtuels et sélectionner Nouvel
Utilisateur Virtuel. Tapez
"Utilisateur". Cliquez sur le bouton
"OK".
Ajouter une nouvelle requête SOAP
Cliquez au bouton droit sur l'utilisateur virtuel créé et
sélectionnez "Insérer dans", puis
"Requête SOAP".
Créer la requête depuis une définition WSDL
Sélectionnez l'option "Générer la requête depuis un
fichier WSDL" et entrer l'URL du fichier. Dans notre
exemple, nous utilisons l'URL suivante:
http://ws.strikeiron.com/textdisguise/CaptchaService?WSDL.
NeoLoad analyse le WSDL et extrait les méthodes pouvant être
appelées.

Sélectionner le bouton Suivant.
Choisir la méthode à appeler
En se basant sur la définition du WSDL, NeoLoad liste les
méthodes que vous pouvez utiliser. Dans notre exemple, nous
sélectionnons la méthode
CaptchaServiceSoap.GetNewWord.

Sélectionner le bouton Suivant.
Définir un nom de requête
NeoLoad fournit un nom par défaut issu du nom de méthode du WSDL. La plupart du temps vous n'aurez pas besoin de changer ce nom.

Sélectionner le bouton Suivant.
Définir le point d'accès
Cette étape vous permet de définir l'adresse à utiliser pour invoquer le service spécifié. L'URL est spécifiée dans le WSDL et vous n'avez pas besoin de le changer la plupart du temps. Vous pouvez modifier l'URL pour basculer entre un environnement de production et un environnement de test.

Sélectionner le bouton Terminer.
Vérifier les éléments principaux de configuration
A ce niveau, la requête SOAP est ajoutée à l'utilisateur virtuel.

Le panneau NeoLoad de droite affiche les éléments de
configuration principaux de la requête SOAP. Cela inclut l'URL
d'accès au service qui définit avec les éléments
Serveur et Chemin. Ces
éléments ont été extraits du WSDL mais peuvent être modifiés.
Comme pour les requêtes HTTP, l'élément Chemin
peut utiliser des variables NeoLoad.
Le WSDL peut être modifié ou rechargé. Le rechargement est utilisé lorsque la requête SOAP et le WSDL sont désynchronisés.
![]() | Avertissement |
|---|---|
Recharger le WSDL réinitialise les paramètres précédents qui seront perdus. |
Vérifier les entêtes HTTP
La plupart des requêtes SOAP nécessitent au moins deux
entêtes HTTP lorsque la requête est effectuée au travers d'HTTP.
Il est préférable de vérifier que ces éléments sont correctement
positionnés. Ils sont accessibles par la fenêtre
Paramètres avancés en cliquant le bouton
:

Dans notre exemple ces éléments sont
ContentType et SOAPAction.
Si votre framework de web services requiert d'autres entêtes HTTP
vous pouvez les ajouter dans cette même fenêtre.
Configurer la requête SOAP
Avant de tester la requête SOAP, d'autres éléments comme les
valeurs de paramètres d'appels ainsi que les types d'encoding doivent
être configurés. Utiliser le bouton
pour accéder à la fenêtre de configuration
SOAP.
Définir les paramètres du corps du message
L'onglet Paramètres vous permet de
définir la structure du corps du message. L'arbre de gauche
affiche les paramètres d'appel.
Comme mentionné précédemment, la méthode
GetNewWord n'attend aucun argument ou un
argument vide donc la liste des paramètres n'affiche des cet
élément vide, donc l'arbre n'a qu'un élément vide nommé
GetNewWord. S'il y avait eu d'autres
arguments, ils auraient été affichés dans cet arbre. Pour notre
exemple, aucune configuration n'est nécessaire.

Définir les entêtes SOAP
Sélectionner l'onglet Entêtes pour
définir et configurer les éléments liés à l'entête SOAP. Les
entêtes sont présentées de la même manière que les paramètres de
requête. L'arbre de gauche affiche la structure et le contenu des
entêtes SOAP. Utiliser les boutons
et
pour ajouter ou supprimer des éléments.
Utiliser les boutons
et
pour déplacer les éléments.
La structure des paramètres contient soit des conteneurs,
comme UnregisteredUser dans notre cas, ou des
éléments feuille comme EmailAddress. Le but des
éléments Conteneur est de contenir d'autres
éléments. Cliquer au bouton droit sur un conteneur permet
d'ajouter ou de supprimer des éléments fils. NeoLoad ne permet que
d'ajouter des éléments compatibles avec la définition du
WSDL.
D'un autre côté les éléments feuille ne peuvent contenir
d'autres éléments mais ont une valeur associée. Dans notre exemple
vous devez entrer une adresse email valide pour l'élément
EmailAddress.

Pour les conteneurs et les feuilles, vous pouvez définir des attributs. Encore une fois, les attributs doivent être cohérents avec le WSDL. Encoder permet d'utiliser des caractères spéciaux comme '<', '>' ou '&'.
Configurer les paramètres avancés
Le panneau Paramètres avancés vous permet
de configurer le style de binding de la requête ainsi que les
formats des attachements. Cette information a été extraite du
WSDL, vous devez bien connaître ces notions si vous décidez de
modifier ces paramètres.

Voir le XML
Le dernier onglet affiche le contenu XML tel qu'il sera
envoyé. NeoLoad génère ce contenu à la volée d'après les
paramètres que vous avez défini. Cliquer au bouton droit sur le
contenu XML et sélectionner Indenter le XML
pour indenter le XML.

![]() | Astuce |
|---|---|
Vous pouvez rechercher une expression particulière en
cliquant au bouton droit R |
Tester la requête SOAP
En créant un utilisateur
virtuel temporaire, NeoLoad fournit une méthode facile et
rapide de tester vos requêtes SOAP. Sélectionner le bouton
pour tester votre requête.
Démarrer la vérification
Si vous déjà testé des utilisateurs virtuels avec NeoLoad,
vous êtes familier avec cette fenêtre. En sélectionnant le bouton
Lancer la validation, NeoLoad génère une
requête SOAP et l'envoie au point d'accès spécifié. NeoLoad
affiche le code de réponse associé et le nombre d'assertions ayant
échouée pour la requête. Lorsque la ligne est sélectionnée, la
fenêtre affiche plus de détails dans la partie basse du panneau.
Vous pouvez choisir d'afficher la requête SOAP envoyée ou la
réponse XML.

![]() | Astuce |
|---|---|
Vous pouvez rechercher une expression particulière en
cliquant au bouton droit R |
![]() | Astuce |
|---|---|
Cliquer au bouton droit sur le contenu XML et sélectionner
|
Si vous suivez notre exemple, la première fois que vous soumettrez la requête, la réponse ressemblera au texte suivant: (les entêtes HTTP ont été omises):
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header/>
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>
Thank you for your attempt to try this Web service. Before the
free trial can occur,
you must first validate your email address.
Simply click on the link in the email that was just sent to you,
and you will then be able to invoke every Web service
within the StrikeIron Web Services Marketplace, including this one.
</faultstring>
<faultactor/>
</soap:Fault>
</soap:Body>
</soap:Envelope>Comme indiqué par l'élément faultstring,
tout ce que vous avez à faire pour utiliser ce service un nombre limité
de fois est de valider l'adresse email que vous avez envoyé en
suivant le lien que Strikelron vous a communiqué. Une fois
l'adresse validée, la réponse devrait ressembler à:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Header xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<SubscriptionInfo xmlns="http://ws.strikeiron.com">
<LicenseStatusCode>1</LicenseStatusCode>
<LicenseStatus>Valid key</LicenseStatus>
<LicenseActionCode>0</LicenseActionCode>
<LicenseAction>Decremented hit count</LicenseAction>
<RemainingHits>4</RemainingHits>
<Amount>0</Amount>
</SubscriptionInfo>
</Header>
<soap:Body>
<GetNewWordResponse
xmlns="http://www.textdisguise.com/TextDisguise/CaptchaService/">
<GetNewWordResult>
<CaptchaImageGuid>
82e16912-14c1-4253-bbcb-699585e3ba63
</CaptchaImageGuid>
<Url>
http://www.textdisguise.com/TextDisguise/CaptchaService/
CaptchaImage.aspx?
guid=82e16912-14c1-4253-bbcb-699585e3ba63
</Url>
</GetNewWordResult>
</GetNewWordResponse>
</soap:Body>
</soap:Envelope>
A partir d'ici vous pouvez utiliser le lien défini par
l'élément Url dans une page HTML. Comme précisé
dans la section suivante, vous pouvez alors utiliser la méthode
ValidateImageWord et
CaptchaImageGuid pour valider le texte entré
par l'utilisateur.
Cette section décrit comment définir une requête basée sur du XML au lieu de partir de la définition WSDL.
Nous illustrerons nos propos en continuant notre exemple précédent
et en invoquant la méthode ValidateImageWord. Cette
méthode attend deux paramètres, un identifiant d'image, le
CaptchaImageGuid retourné par la méthode
GetNewWord et le texte entré par l'utilisateur. La méthode
ValidateImageWord retourne true si
le texte entré par l'utilisateur et l'image correspondent. Le XML que nous
allons utiliser pour la requête est le suivant:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Header>
<ns1:LicenseInfo
xmlns:ns1="http://ws.strikeiron.com"
soapenv:mustUnderstand="0">
<ns1:UnregisteredUser>
<ns1:EmailAddress>john.doe@dot.com</ns1:EmailAddress>
</ns1:UnregisteredUser>
<ns1:RegisteredUser>
<ns1:UserID/>
<ns1:Password/>
</ns1:RegisteredUser>
</ns1:LicenseInfo>
</soapenv:Header>
<soapenv:Body>
<ValidateImageWord
xmlns="http://www.textdisguise.com/TextDisguise/CaptchaService/">
<captchaImageGuid>53fd3b31-1089-455b-a1b6-d78bc73f80b9</captchaImageGuid>
<word>SUBPRIMATE</word>
</ValidateImageWord>
</soapenv:Body>
</soapenv:Envelope>
Créer une requête SOAP manuellement
Sélectionner le mode
Conception de NeoLoad
Utiliser le bouton
.
Créer une nouvelle requête
Cliquez au bouton droit sur l'utilisateur virtuel et
sélectionner "Insérer dans", puis "Requête
SOAP".
Spécifier la création manuelle
Sélectionner l'option Générer la requête
manuellement.

Sélectionner le bouton Suivant.
Choisir un nom pour la requête
Entrer un nom pour cette requête.
Dans notre exemple nous nommerons la requête
ValidateImageWord.

Sélectionner le bouton Suivant.
Définir le point d'accès
Il s'agit de l'URL où le service web est situé. Dans notre
exemple, le point d'accès (end point) est:
http://ws.strikeiron.com:80/textdisguise/CaptchaService.

Sélectionner le bouton Terminer.
Vérifier les éléments principaux de configuration
A ce niveau, la requête SOAP est ajoutée à l'utilisateur virtuel sélectionné précédemment.

Le panneau NeoLoad de droite affiche les éléments de
configuration principaux de la requête SOAP. Cela inclut l'URL
d'accès au service qui définit avec les éléments
Serveur et Chemin. Comme
pour les requêtes HTTP, l'élément Chemin peut
utiliser des variables NeoLoad.
Vérifier les entêtes HTTP
La plupart des requêtes SOAP nécessitent au moins deux
entêtes HTTP lorsque la requête est effectuée au travers d'HTTP.
Il est préférable de vérifier que ces éléments sont correctement
positionnés. Ils sont accessibles par la fenêtre
Paramètres avancés en cliquant le bouton
:

Dans notre exemple ces éléments sont
ContentType et
SOAPAction.
Configurer le contenu XML
Pour configurer le XML, sélectionner le bouton Editer
le contenu XML.
A ce niveau, vous devez définir la requête XML soit en effectuant un copier-coller d'une requête que vous testez ou définir manuellement chaque noeud et attribut de la requête. Nous utiliserons le copier-coller dans notre exemple.
Copier puis coller une requête XML existante dans le panneau
Texte XML est le moyen le plus facile de définir le
contenu XML. Dans notre exemple, nous copions le contenu de la méthode
ValidateImageWord:

Vous pouvez aussi utiliser le panneau Arbre XML
pour définir manuellement ou par éditer les éléments XML.
NeoLoad construit automatiquement une vue à partir de l'autre (Arbre
XML à partir de Texte XML et vice versa). Le panneau Arbre
XML ressemble à:

A ce niveau la requête est complètement définie et vous pouvez la tester.
Tester la requête SOAP
En créant un utilisateur
virtuel temporaire, NeoLoad fournit une méthode facile et
rapide de tester vos requêtes SOAP. Sélectionner le bouton
pour tester votre requête.
Démarrer la vérification
Si vous avez déjà testé des utilisateurs virtuels avec
NeoLoad, vous êtes familier avec cette fenêtre. En sélectionnant
le bouton Lancer la validation, NeoLoad génère
une requête SOAP et l'envoie au point d'accès spécifié. NeoLoad
affiche le code de réponse associé et le nombre d'assertions ayant
échouée pour la requête. Lorsque la ligne est sélectionnée, la
fenêtre affiche plus de détails dans la partie basse du panneau.
Vous pouvez choisir d'afficher la requête SOAP envoyée ou la
réponse XML.

![]() | Astuce |
|---|---|
Vous pouvez rechercher une expression particulière en
cliquant au bouton droit R |
![]() | Astuce |
|---|---|
Cliquer au bouton droit sur le contenu XML et sélectionner
|
Basée sur les deux exemples précédents, cette section montre brièvement comment vous pouvez, comme les requêtes HTTP, utiliser l'extraction de variable avec les requêtes SOAP.
L'idée est de:
extraire l'identifiant d'image (le
CaptchaImageGuid) de la réponse à la requête
GetNewWord.
puis injecter cette variable dans la requête
ValidateImageWord.
Extraire l'identifiant d'image (le
CaptchaImageGuid) de la réponse à la requête
GetNewWord.
Sélectionner le mode Conception en
sélectionnant le bouton
.
Sélectionner l'onglet Utilisateurs
Virtuels.
Ouvrir l'utilisateur virtuel.
Sélectionner la requête GetNewWord d'où
l'identifiant sera extrait.

Ouvrir l'onglet Extracteur de
Variable
Ouvrir la fenêtre des paramètres avancés en utilisant le
bouton
.
Sélectionner l'onglet Extracteurs de
Variable:

Définir une nouvelle variable
Sélectionner le bouton
pour créer une nouvelle variable
d'extraction. Dans notre exemple, nous définissons la variable
captchaImageGuid. La manière d'identifier et
d'extraire la valeur est plutôt simple car la réponse XML est
simple. Nous voulons extraire tout ce qui apparait entre les tags
XML <captchaImageGuid> et
</captchaImageGuid> tags:

A ce niveau, la définition de l'extraction est terminée. A
chaque invocation de GetNewWord, NeoLoad
extraira l'identifiant d'image et l'attribuera à la variable
captchaImageGuid.
Pour plus d'informations sur l'extraction de variables, se reporter à la section intitulée « Créer un extracteur de variable » et au guide de référence.
Réinjecter la valeur dans la requête
ValidateImageWord
Sélectionner la requête ValidateImageWord
où l'identifiant doit être injecté.
Sélectionner le bouton Editer le contenu
XML.
Sélectionner l'onglet Arbre XML.
Sélectionner l'élément captchaImageGuid
dans l'arbre XML.
Utiliser le picker de variables en utilisant le bouton
.... Vous pouvez aussi commencer à taper
${c et NeoLoad suggérera des noms de
variables.
Choisir la variable
captchaImageGuid
La fenêtre du contenu XML devrait ressembler à:

Avec une telle configuration NeoLoad extrait l'identifiant
d'image de la réponse à GetNewWord et l'injecte
dans la requête ValidateImageWord.
Cette section illustre un autre moyen de définir une requête SOAP. De toutes les manières détaillées jusque là, celle-ci ressemble le plus à ce que vous avez l'habitude de faire pour une application web classique: agir en tant qu'utilisateur et laisser NeoLoad enregistrer les requêtes et les réponses. Notre exemple utilise l'API de recherche Google, donc si vous voulez essayer cette API vous avez besoin de créer un compte et d'obtenir une clé: APIs Google.
Description
L'exemple est très simple afin de comprendre le mécanisme sous-jacent:

La page HTML que nous enregistrerons contient un bouton
Test et une zone de texte contenant la requête à
envoyer. Le bouton test permet d'envoyer la requête et la réponse est
affichée dans la zone de texte. La requête comprend une invocation à l'API
de recherche Google. Le corps de la requête comprend entre autre un
élément key que vous obtenu de Google. L'élément XML
q est le texte à rechercher. Dans notre interface nous
pouvons modifier ces paramètres en éditant le champ de texte avant de
soumettre la requête.
Le code Javascript qui gère la requête se connecte au point d'accès du service, positionne les entêtes HTTP et envoie le contenu du champ de texte. Lorsque la réponse est reçue, son contenu est copié dans le champ de texte. Noter que le code fonctionne uniquement avec Microsoft Internet Explorer.
Le listing suivant contient le code de la page SOAPTest.html et de la fonction appelée lorsque le bouton Test est cliqué:
<html>
<body>
<h1>Google</h1>
<script type="text/javascript">
function doIEGoogle() {
textarea = document.getElementById("debugbox");
xhr = new ActiveXObject("Microsoft.XMLHTTP");
xhr.open('POST', "http://api.google.com/search/beta2");
xhr.setRequestHeader("SOAPAction", "urn:GoogleSearchAction");
xhr.setRequestHeader("Content-Type", "text/xml; charset=utf-8");
xhr.onreadystatechange =
function() {
if(xhr.readyState != 4) return;
if(xhr.status != 200) {
textarea.value = xhr.status + " " + xhr.statusText
+ "\n" + xhr.responseText;
return;
}
textarea.value = xhr.responseText;
};
xhr.send(textarea.value);
}
</script>
<form name="input" action="javascript:doIEGoogle()">
<input type="submit" value="Test">
</form>
<p></p>
<textarea rows="30" cols="100" name="debugbox">
<?xml version='1.0' encoding='UTF-8'?>
<SOAPENV:Envelope
xmlns:SOAPENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAPENV:Body>
<ns1:doGoogleSearch
xmlns:ns1="urn:GoogleSearch"
SOAPENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<key xsi:type="xsd:string">ABQIAAAA-YwsmHQspwIU9OcKL4b5rhTd9gLE95ZWCg
lQjFVS1XYlL9GwFBSIRS2y1JQBK8NE1ktm1oJWkWiTZQ</key>
<q xsi:type="xsd:string">load testing web applications</q>
<start xsi:type="xsd:int">0</start>
<maxResults xsi:type="xsd:int">3</maxResults>
<filter xsi:type="xsd:boolean">false</filter>
<restrict xsi:type="xsd:string"/>
<safeSearch xsi:type="xsd:boolean">false</safeSearch>
<lr xsi:type="xsd:string"/>
<ie xsi:type="xsd:string"/>
<oe xsi:type="xsd:string"/>
</ns1:doGoogleSearch>
</SOAPENV:Body>
</SOAPENV:Envelope>
</textarea>
</body>
</html>Enregistrer la
pageAfin d'enregistrer cette page de test nous suivons exactement la
même procédure que pour enregistrer une page web classique. Puis nous
avons sélectionné le bouton Test et attendu les
résultats de l'API Google. Nous avons stoppé l'enregistrement à ce
stade.

L'utilisateur virtuel contient un noeud nommé
/search/beta2.
![]() | Important |
|---|---|
Les requêtes SOAP indépendantes n'appartiennent pas à une page web et n'ont donc pas de Temps d'attente associé. Si vous voulez tester une séquence d'appels SOAP, vous devez utiliser des actions Délai pour simuler les temps d'attente. Pour plus de détails sur les actions délai, voir le guide de référence. |
NeoLoad a correctement identifié la requête comme étant une requête
SOAP: les propriétés URL, Serveur,
Chemin et Méthode ont été correctement
positionnées.
Editer la requête SOAP
Si vous sélectionnez le bouton Editer le contenu
XML et si vous choisissez la vue Arbre XML,
vous pouvez facilement naviguer parmi les éléments de la requête. C'est
typiquement l'endroit où vous pouvez utiliser des variables, pour changer
par exemple le texte de recherche du paramètre
q.

Tester la requête SOAP
Comme pour toute requête SOAP, vous pouvez tester la requête
enregistrée en utilisant le bouton
qui ouvre la fenêtre de
validation:

Dans notre exemple, le code Javascript ne fait que remplir la zone de texte avec le XML reçu. Dans un cas réel, la page HTML ferait évidemment quelque chose d'utile comme analyser la réponse et afficher du HTML.
Enregistrer à partir d'un client SOAP existant
L'exemple précédant montre comment enregistrer des requêtes en utilisant un navigateur internet. Se reporter au guide de référence pour voir comment enregistrer à partir d'un client SOAP existant.
Contrairement aux requêtes HTTP qui appartiennent à des pages web, les requêtes SOAP sont souvent définies en dehors de toute page web. Cela a un impact sur la manière dont NeoLoad affiche les résultats. Si vous définissez un scénario qui inclut des requêtes SOAP, ces requêtes ne sont pas affichées dans la synthèse du test.
Dans notre cas le scénario ne contient qu'une seule page nommée
SOAPTest.html. Voici la synthèse du test:

Comme décrit dans la capture d'écran suivante, seul l'onglet
Valeurs vous permet d'accéder aux statistiques de la
requête SOAP, dans notre exemple la requête
/search/beta2. Bien sûr, toutes les possibilités de
graphe sont également disponibles pour les requêtes SOAP (onglet
Graphiques).
