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?

19
demandé sur Stef Heyenrath 2010-09-16 12:22:56

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/

11
répondu BlackGaff 2010-09-16 14:57:43

cela générera un identifiant unique à l'échelle mondiale:

${=java.util.UUID.randomUUID()}
65
répondu bkaid 2011-07-26 23:20:33

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.

6
répondu vkrams 2017-10-10 00:20:47