2010-09-16 2 views
19

Avec SoapUI, il est possible d'envoyer un message Soap XML à un service WCF. J'ai le message SOAP suivant: Parce que le service WCFSoapUI: est-il possible d'autogénérer la valeur d'un élément dans un message 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> 

attend un ID unique pour mon: id, je voudrais savoir si SoapUI fournit des fonctionnalités pour générer automatiquement un GUID aléatoire?

Répondre

10

Plutôt que d'un ID aléatoire, je suggérerais d'utiliser l'horodatage jusqu'à la milliseconde, car le nombre ne sera jamais dupliqué.

Je ne l'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/

+1

Merci pour le conseil! J'ai utilisé ce qui suit: $ {= new Date(). GetTime()}

+0

Voir aussi cette page: http://www.soapui.org/Scripting-Properties/working-with-properties.html –

59

Cela va générer un identifiant unique au monde:

${=java.util.UUID.randomUUID()} 
+1

Merci pour la réponse. –

6

I Je viens d'utiliser le code ci-dessous pour générer nummber aléatoire dans ma demande 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 souhaité de chiffres dans la méthode randomNumeric().

Questions connexes