2010-08-05 29 views
7

我有一個模擬響應,它需要返回請求中的值。例如,該請求可以進來:在SOAP UI模擬響應腳本中訪問請求XML

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

我已經有一個mockResponse:

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

我知道如何通過上下文變量設置爲$ {theValue}價值,但我可以」不知道如何訪問請求並解析它的值。

任何幫助將不勝感激。

感謝, 強尼

+0

你可以發佈更多的代碼? – 2010-08-05 16:43:40

+0

只需注意您的XML格式不正確。 標記與結束標記不匹配。 – Paddyslacker 2010-09-03 18:44:11

回答

0

我不能完全肯定的背景下,該工具是您使用?

我們使用Liquid XML Studio,它有一個Web Services Test Client,這使得手動調用Web服務非常簡單,這種聽起來像你想做的事情,但也許你正試圖自動化這個過程進行測試?

請提供更多信息。

Simon Simon

3

您可以使用腳本功能來自定義您的響應。

在mockResponse窗口中,您可以單擊腳本菜單。

在這裏,你可以把類似的信息(使用XPath完全限定你正在尋找的元素):

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

當調用MockResponsetheValue變量應自動更新。

+0

xpath的+1。這是Pro版本真正發光的地方,它內置了一個XPath工具,使得這種事情變得非常簡單。 – 2010-08-23 12:41:30

+0

這幾乎適用於我,但結果被包裝在xml-fragment標籤中。 – 2014-02-25 00:22:08

0

如果您使用的是SoapUI Pro,只需將光標放置在希望插入值的位置,然後右鍵單擊並通過「獲取數據...」子菜單從請求中選擇參數。但是,此功能僅適用於Pro版本。使用免費版你應該遵循khylo的答案。

羅伯特

1

使用調度順序MokcResponse可以是:

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