我希望有人能夠幫助我使用帶有SoapUI的Web服務?在SoapUI中爲屬性傳輸選擇多個字段
我創建TestSteps對用戶進行認證,做數據的搜索,然後將數據導出到Excel文件。我遇到的問題是每次只獲取一行數據,而我需要XML響應文件中提供的全部100條記錄。
當我做的SOAP請求,響應的XML文件包含UID標籤內數據的領域,我想提取:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:searchResponse xmlns:ns2="http://woksearch.v3.wokmws.thomsonreuters.com">
<return>
<queryId>1</queryId>
<recordsFound>3648</recordsFound>
<recordsSearched>38406647</recordsSearched>
<records><records xmlns="http://scientific.thomsonreuters.com/schema/wok5.4/public/Fields">
<REC r_id_disclaimer="ResearcherID data provided by Thomson Reuters"> <UID>WOS:A1993LC48100001</UID><static_data></static_data><dynamic_data><cluster_related> </cluster_related></dynamic_data></REC>
<REC r_id_disclaimer="ResearcherID data provided by Thomson Reuters"> <UID>WOS:A1993LE28400012</UID><static_data></static_data><dynamic_data><cluster_related> </cluster_related></dynamic_data></REC>
<REC r_id_disclaimer="ResearcherID data provided by Thomson Reuters"> <UID>WOS:000239231100002</UID><static_data></static_data><dynamic_data><cluster_related> </cluster_related></dynamic_data></REC>
<REC r_id_disclaimer="ResearcherID data provided by Thomson Reuters"> <UID>WOS:000225797900011</UID><static_data></static_data><dynamic_data><cluster_related> </cluster_related></dynamic_data></REC>
<REC r_id_disclaimer="ResearcherID data provided by Thomson Reuters"> <UID>WOS:000249142800001</UID><static_data></static_data><dynamic_data><cluster_related> </cluster_related></dynamic_data></REC>
<REC r_id_disclaimer="ResearcherID data provided by Thomson Reuters"> <UID>WOS:000071234000001</UID><static_data></static_data><dynamic_data><cluster_related> </cluster_related></dynamic_data></REC>
<REC r_id_disclaimer="ResearcherID data provided by Thomson Reuters"> <UID>WOS:000292046900004</UID><static_data></static_data><dynamic_data><cluster_related> </cluster_related></dynamic_data></REC>
<REC r_id_disclaimer="ResearcherID data provided by Thomson Reuters"> <UID>WOS:A1992JR22700001</UID> ....etc.
我試圖用一個產權轉讓取所有這些UID值作爲列表並將它們插入另一個SOAP請求之間uid標記。對這個SOAP請求的響應將會給我關於每條記錄的詳細數據。
不幸的是,無論我嘗試,它僅會返回,並傳遞一個記錄,而不是完整的100
目前的XPath的我在產權轉讓的來源是:
declare namespace ns1='http://scientific.thomsonreuters.com/schema/wok5.4/public/Fields';
declare namespace ns2='http://woksearch.v3.wokmws.thomsonreuters.com';
//ns2:searchResponse[1]/return[1]/records[1]/ns1:records[1]/ns1:REC/ns1:UID[1]
根據記錄標籤,每個UID值被存儲在一個單獨的REC標籤,所以我需要遍歷標籤,每次選擇UID值。
下圖顯示了嵌套在REC值內UID值的文件和位置的層次結構佈局:
*打開,因爲我的名聲太低,我不能發表圖片!嵌套是這樣的:
<searchResponse>
<return>
<records>
<records>
<REC>
<UID>WOS: DDKJ7898dIJH</UID>
</REC>
<REC>
<UID>WOS: OIJS897JBSSS</UID>
</REC>
etc...
有誰知道我能得到所有這些值傳遞到另一個SOAP請求?我嘗試了許多不同的XPath版本,但無濟於事。我也嘗試使用DataSink將所有的值都拉到電子表格中,然後將它們導入到其他請求中,但是我仍然只能一次只傳輸一個值!
任何幫助,非常感謝!
謝謝您的時間,
約翰
什麼是目標格式? ' ... ... '? –
nwill001
我將在另一個SOAP請求中使用提取的UID值,其中包含 ... 標記,即 WOS:DDKJ7898dIJH WOS:OIJS897JBSSS等 –
jayrdi
我添加了答案。如果它不起作用,那麼groovy腳本還有另一種方法。 – nwill001