2010-08-05 12 views
7

Ho una risposta simulata, che deve restituire un valore che era nella richiesta. Ad esempio, la richiesta può venire in:Accedere alla richiesta XML in uno script di risposta fittizia dell'interfaccia utente SOAP

<myReqest><myValue>123</myValue></myRequest> 

Ho già un mockResponse:

<myResponse><yourValue>${theValue}</yourValue></myResponse> 

So come impostare il valore di $ {theValue} attraverso la variabile di contesto, ma posso' t capire come accedere alla richiesta e analizzarla per il valore.

Qualsiasi aiuto sarebbe molto apprezzato.

Grazie, Jonny

+0

è possibile inviare più di codice? –

+0

Solo una nota che il tuo XML non è ben formato. Il tag non corrisponde al tag di chiusura. – Paddyslacker

risposta

0

Non sono del tutto sicuro del contesto, quale strumento stai usando?

Usiamo Liquid XML Studio, che ha un Web Services Test Client, che rende la chiamata manuale dei servizi web abbastanza semplice, questo tipo di suoni come quello che stai cercando di fare, ma forse stai cercando di automatizzare questo processo per il test?

Si prega di fornire maggiori informazioni.

Simon

3

È possibile utilizzare la funzionalità di script per personalizzare la vostra risposta.

Nella finestra di mockResponse, è possibile fare clic sul menu di script.

Qui si può mettere qualcosa di simile (usando XPath per qualificare completamente l'elemento che si sta cercando):

context.theValue = 
mockRequest.getRequestXmlObject().selectPath("//Message/text()")[0]; 

Quando si richiama il MockResponse, theValue variabile dovrebbe essere aggiornato automaticamente.

+0

+1 per xpath. Qui è dove la versione Pro brilla davvero, ha uno strumento XPath integrato, rendendo questo genere di cose molto facile. –

+0

Questo ha funzionato quasi per me, ma il risultato è stato avvolto in tag xml-framment. –

0

Se si utilizza SoapUI Pro è sufficiente posizionare il cursore nel punto in cui si desidera inserire il valore, quindi fare clic con il pulsante destro del mouse e selezionare il parametro dalla richiesta tramite il sottomenu "Ottieni dati ...". Questa funzione tuttavia è disponibile solo nella versione Pro. Usando l'edizione freeware dovresti seguire la risposta di khylo.

Robert

1

utilizzando spedizione SEQUENZA il MokcResponse può essere:

<myResponse><yourValue>${#MockResponse#Request#//myValue}</yourValue></myResponse> 
Problemi correlati