Création d'un scénario pour un webservice

222 views
Skip to first unread message

toulouse...@gmail.com

unread,
Dec 2, 2009, 9:13:38 AM12/2/09
to JMeter en français
Bonjour,
J’ai 2 questions:
pour executer ma requête j’ai besoin de joindre un fichier .pdf,
comment faire? Est-ce que l’élément « Requete SOAP/XML-RPC » sert à
celà?

Pour acceder à mon wsdl j’ai besoin d’un certificat (que j’ai) et
d’indiquer un user/password, comment faire?

Merci :)

Milamber

unread,
Dec 2, 2009, 12:30:38 PM12/2/09
to jmet...@googlegroups.com
Bonjour,

Ci-dessous,



Bonjour,
J’ai 2 questions:
pour executer ma requête j’ai besoin de joindre un fichier .pdf,
comment faire? Est-ce que l’élément « Requete SOAP/XML-RPC » sert à
celà?


Il vaut mieux utiliser l'échantillon "Requête WebService(SOAP)"

Par contre pour l'envoi d'un fichier, je suppose qu'il faut que tu prépares les données SOAP (contenant les balises xml + les data correspondant à ton fichier (un MIME je suppose)), puis le mettre dans un fichier et l'utiliser dans l'échantillon WebService.

 

Pour acceder à mon wsdl j’ai besoin d’un certificat (que j’ai) et
d’indiquer un user/password, comment faire?

Si il s'agit d'un certificat SSL demander par le serveur Web (genre Apache), tu peux le faire avec le gestionnaire SSL de JMeter :
http://blog.milamberspace.net/index.php/jmeter-pages/jmeter-site-avec-authentification-par-certificat-ssl
et
http://jakarta.apache.org/jmeter/usermanual/component_reference.html#SSL_Manager

Pour le login/mot de passe, si il s'agit d'une authentification HTTP basic (une fenêtre du navigateur (pas dans la page) te demande un login / mot de passe, alors le gestionnaire d'autorisation est fait pour cela :
http://jakarta.apache.org/jmeter/usermanual/component_reference.html#HTTP_Authorization_Manager

A+
Milamber
 

Merci :)



toulouse...@gmail.com

unread,
Dec 3, 2009, 3:55:59 AM12/3/09
to JMeter en français
Alors pour le certificat d'authentification j'avais essayé ça sauf que
moi il me demande jamais le mot de passe du certificat...
Dans l'article ils demandent d'installer JSSE et je ne sais pas si
j'ai bien fait, j'avais trouvé un article qui disait qu'il suffisait
de copier 3 .jar dans le /jre, est-ce bien cela?

Pour l'envoi d'un fichier j'ai fais une enveloppe :

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/
envelope/" xmlns:ns="http://www.adullact.org/spring-ws/iparapheur/1.0"
xmlns:xm="http://www.w3.org/2005/05/xmlmime">
<soapenv:Header/>
<soapenv:Body>
<ns:CreerDossierRequest>
<!--You may enter the following 12 items in any order-->
<ns:TypeTechnique>ACTES</ns:TypeTechnique>
<ns:SousType>sousType1Acte</ns:SousType>
<ns:EmailEmetteur>pwali...@hotmail.fr</ns:EmailEmetteur>
<ns:DossierID>?</ns:DossierID>
<ns:DocumentPrincipal xm:contentType="application/?">cid:
479435129532</ns:DocumentPrincipal>
<ns:VisuelPDF xm:contentType="application/pdf">cid:
126862349787</ns:VisuelPDF>
<!--Optional:-->
<ns:DocumentsAnnexes>
<!--Zero or more repetitions:-->
<ns:DocAnnexe>
<ns:nom>CahierAdmin v2.odt.pdf</ns:nom>
<ns:fichier xm:contentType="application/pdf">cid:
1218994470228</ns:fichier>
</ns:DocAnnexe>
</ns:DocumentsAnnexes>
<ns:XPathPourSignatureXML>.</ns:XPathPourSignatureXML>
<ns:AnnotationPublique></ns:AnnotationPublique>
<ns:AnnotationPrivee></ns:AnnotationPrivee>
<ns:Visibilite>PUBLIC</ns:Visibilite>
<ns:DateLimite></ns:DateLimite>
</ns:CreerDossierRequest>
</soapenv:Body>
</soapenv:Envelope>

J'ai fais ça avec SOAPui mais il n'y a rien dans ce code qui indique
où se trouve sur mon pc le document à envoyer, et je ne sais pas
comment le mettre. Apparemment quelque chose est prévu dans SOAPui
pour joindre un fichier mais ça ne génère pas de code dans
l'enveloppe...

Merci :)

toulouse...@gmail.com

unread,
Dec 3, 2009, 4:07:07 AM12/3/09
to JMeter en français
Je recopie l'erreur que j'obtiens dans l'arbre de résultats, ça peut
aider:

Pour la requete WebService(SOAP):

Compteur erreur : 1
Code HTTP de réponse : 000
MEssage HTTP de réponse : Error opening socket :
javax.net.ssl.SSLHandshakerException :
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target

Ensuite j'ai une erreur :
Compteur erreur : 1
Code HTTP de réponse : Non HTTP response code :
java.net.MalformedURLException
Message HTTP de réponse : Non HTTP response message : no protocol :

Entêtes de réponse :
HTTPSampleResults champs :
ContentType:
DataEncoding: ISO-8859-1

Milamber

unread,
Dec 3, 2009, 5:02:50 PM12/3/09
to jmet...@googlegroups.com
Bonjour,

Là c'est un problème d'autorité de certification (CA) n'est pas dans le
coffre des clés (keystore) du JDK. Tu dois avoir une clé SSL auto-signée
(coté serveur ou client ou les deux ?)
Normalement, il faut récupérer la clé publique et l'ajouter dans le cacerts
Pour cela utiliser l'outil keystore fourni par le JDK

keytool -alias TonCA -import -file cle-pub-cacert.pem -keystore
/usr/java/jdk1.6.0_06/jre/lib/security/cacerts
(il demande un mot de passe, c'est "changeit")
Le chemin du fichier cacerts est à adapter.

A+
Milamber

Le 03/12/2009 09:07, toulouse...@gmail.com a ecrit :

toulouse...@gmail.com

unread,
Dec 4, 2009, 7:04:44 AM12/4/09
to JMeter en français
Oulà je n'ai pas tout compris, tu n'aurai pas une adresse msn ou qque
chose de plus interactif peut-être?

On 3 déc, 23:02, Milamber <milambersp...@gmail.com> wrote:
> Bonjour,
>
> Là c'est un problème d'autorité de certification (CA) n'est pas dans le
> coffre des clés (keystore) du JDK. Tu dois avoir une clé SSL auto-signée
> (coté serveur ou client ou les deux ?)
> Normalement, il faut récupérer la clé publique et l'ajouter dans le cacerts
> Pour cela utiliser l'outil keystore fourni par le JDK
>
> keytool -alias TonCA -import -file cle-pub-cacert.pem -keystore
> /usr/java/jdk1.6.0_06/jre/lib/security/cacerts
> (il demande un mot de passe, c'est "changeit")
> Le chemin du fichier cacerts est à adapter.
>
> A+
> Milamber
>
> Le 03/12/2009 09:07, toulouse.sabr...@gmail.com a ecrit :

toulouse...@gmail.com

unread,
Dec 4, 2009, 8:07:55 AM12/4/09
to JMeter en français
Alors ça avance un peu, je me suis fais expliquer pour ce que tu m'as
dit.
Maintenant quand je lie mon wsdl et que je clique sur "Charger WSDL"
il me demande bien le mot de passe (ce qu'il ne faisait pas avant),
mais quand je le lui donne il me prompt un :

"Le WSDL n'est pas valide, veuillez revérifier l'URL.
org.apache.jmeter.protocol.http.util.WSDLException : Server returned
HTTP response code : 401 for URL : <l'adresse de mon wsdl>"

j'ai peur que ça vienne du fait que, quand j'y vais moi manuellement
sur ce WSDL, j'indique donc mon certif, et ensuite il me demande un
login et mot de passe (connu de l'application web) dans une nouvelle
fenetre, je lui indique, et là j'accede au wdsl.
Et c'est peut-être cette étape que je gère mal...




On 4 déc, 13:04, "toulouse.sabr...@gmail.com"

Milamber

unread,
Dec 5, 2009, 4:25:48 AM12/5/09
to jmet...@googlegroups.com
Bonjour,

Ci-dessous,

Le 04/12/2009 13:07, toulouse...@gmail.com a ecrit :
> Alors ça avance un peu, je me suis fais expliquer pour ce que tu m'as
> dit.
> Maintenant quand je lie mon wsdl et que je clique sur "Charger WSDL"
> il me demande bien le mot de passe (ce qu'il ne faisait pas avant),
> mais quand je le lui donne il me prompt un :
>
> "Le WSDL n'est pas valide, veuillez revérifier l'URL.
> org.apache.jmeter.protocol.http.util.WSDLException : Server returned
> HTTP response code : 401 for URL :<l'adresse de mon wsdl>"
>

Le code 401 correspond à un accès non autorisé
http://fr.wikipedia.org/wiki/Liste_des_codes_HTTP

> j'ai peur que ça vienne du fait que, quand j'y vais moi manuellement
> sur ce WSDL, j'indique donc mon certif, et ensuite il me demande un
> login et mot de passe (connu de l'application web) dans une nouvelle
> fenetre, je lui indique, et là j'accede au wdsl.
> Et c'est peut-être cette étape que je gère mal...
>

Possible en effet, as-tu mis un gestionnaire d'autorisation http dans
ton scénario (en fils du plan de test par exemple), avec dedans le login
et le mot de passe que tu saisies dans la fenêtre du navigateur ?
http://jakarta.apache.org/jmeter/usermanual/component_reference.html#HTTP_Authorization_Manager
(remplir juste les champs login / mdp)

A+
Milamber
Reply all
Reply to author
Forward
0 new messages