SoapUI: est-il possible d'autogénérer la valeur d'un élément dans un message SOAP?
SoapUI il est possible d'envoyer un message XML Soap à un service WCF. J'ai le message suivant du SOAP:
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:my="http://myserviceprovider">
<soap:Header/>
<soap:Body>
<my:ProcessOrder>
<my:Orders>
<my:Order>
<my:id>randomid_1234567890</my:id>
<my:data>ABC</my:data>
</my:Order>
</my:Orders>
</my:ProcessOrder>
</soap:Body>
</soap:Envelope>
parce que le service WCF attend un ID unique pour ma:id, je voudrais savoir si SoapUI fournit une fonctionnalité pour générer automatiquement un GUID aléatoire?
3 réponses
plutôt qu'un identifiant aléatoire, je suggère d'utiliser le timbré jusqu'à la milliseconde, car le numéro ne sera jamais dupliqué.
je n'ai pas fait moi-même, mais il semble que vous appelez une fonction de chaîne:
01 ...
02 ...
03 <!-- text within dateEffectiveFrom tag is replaced with a date 10 days from today in yyyy-MM-dd format -->
04 <dateEffectiveFrom>${= String.format('%tF', new Date() + 10) }</dateEffectiveFrom>
05
06 <!-- TestSuite property "date" is defined as "${= String.format('%tF', new Date() + 10) }" -->
07 <!-- Another example where dynamic date is defined as TestSuite property -->
08 <!-- and then SOAP Request can refer to this TestSuite property as shown below -->
09 <dateEffectiveFrom>${#TestSuite#date}</dateEffectiveFrom>
10 ...
11 ...
http://onebyteatatime.wordpress.com/2009/04/18/soapui-tips-n-tricks-part-2/
cela générera un identifiant unique à l'échelle mondiale:
${=java.util.UUID.randomUUID()}
je viens d'utiliser le code ci-dessous pour générer des nombres aléatoires dans ma requête SOAPUI et cela a fonctionné sans aucun problème. Cela générera un nombre aléatoire de 10 chiffres.
<val:Id UniqueID="${=org.apache.commons.lang.RandomStringUtils.randomNumeric(10)}"/>
Si vous voulez changer le nombre de chiffres, il suffit de changer le nombre de chiffres dans randomNumeric()
méthode.