2014-06-09 51 views
0

我希望有人能夠幫助我使用帶有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將所有的值都拉到電子表格中,然後將它們導入到其他請求中,但是我仍然只能一次只傳輸一個值!

任何幫助,非常感謝!

謝謝您的時間,

約翰

+0

什麼是目標格式? ' ... ...'? – nwill001

+0

我將在另一個SOAP請求中使用提取的UID值,其中包含 ...標記,即 WOS:DDKJ7898dIJH WOS:OIJS897JBSSS等 jayrdi

+0

我添加了答案。如果它不起作用,那麼groovy腳本還有另一種方法。 – nwill001

回答

1

利用物業轉移將是一個解決辦法(請務必檢查的XQuery):

declare namespace ns1='http://scientific.thomsonreuters.com/schema/wok5.4/public/Fields'; 
declare namespace ns2='http://woksearch.v3.wokmws.thomsonreuters.com'; 
<UID> 
{ 
for $id in //ns1:UID 
return string($id) 
} 
</UID> 

輸出會採用以下格式:

<UID>WOS:A1993LC48100001 WOS:A1993LE28400012 WOS:000239231100002 WOS:000225797900011 WOS:000249142800001 WOS:000071234000001 WOS:000292046900004</UID> 
+0

太棒了,非常感謝您的幫助!一直試圖對此進行排序,想到使用XQuery,但從未使用它,所以不知道如何。我不認爲你可以幫助我最後一件事?我已經將這些uid字符串傳遞給Soap Response,並從我之後的響應中獲取數據。我使用您發佈的相同迭代方法從數據提取數據(,<full_name>等),但是當DataSink將這個數據融入Excel電子表格(我的最終目標)時,它將所有數據對於每個標籤.. – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/3699879/">jayrdi</a></span> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">..進入單個單元格。例如。所有100'雜誌標題放入工作表中的單個單元格中。我將如何分割數據以便每個元素都在其自己的單元格中?這會是我在Soap Response和DataSink之間的屬性傳輸中做的事情,還是我在DataSink中指定的東西?謝謝你的幫助! – <span class="text-secondary"> <small> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/3699879/">jayrdi</a></span> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1038284119" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <article class="board-top-1 padding-top-10"> <div class="post-col vote-info"> <span class="count">0<i class="fa fa-thumbs-up"></i></span> </div> <div class="post-offset"> <div class="answer fmt"> <p>一個可能的方法是這樣的:</p> <ol> <li>進行第一次調用以檢索所有UID。</li> <li>創建一個type = XML的DataSource來提取所有的UID。</li> <li>動態創建您的第二個電話(在下面的步驟5中)。請參閱<a href="http://siking.wordpress.com/2012/01/06/dynamically-create-elements-in-a-soapui-request/" rel="nofollow">my blog post</a>提示如何完成此操作。</li> <li>在步驟2中循環所有值。</li> <li>進行第二次調用。</li> </ol> </div> <div class="post-info"> <div class="post-meta row"> <p class="text-secondary col-lg-6"> <span class="source"> <a rel="noopener" target="_blank" href="https://stackoverflow.com/q/24125579">來源</a> </span> </p> <p class="text-secondary col-lg-6"> <span class="float-right date"> <span>2014-06-09 17:29:27</span> <a rel="noopener" target="_blank" href="https://stackoverflow.com/users/3124333/">SiKing</a></span> </p> <p class="col-12"></p> <p class="col-12"></p></div> </div> </div> </article> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">相關問題</div> <ul class="relative_list"> <li> 1. <a href="http://hk.uwenku.com/question/p-eolvvmig-ya.html" target="_blank" title="SOAPUI傳輸屬性"> SOAPUI傳輸屬性 </a> </li> <li> 2. <a href="http://hk.uwenku.com/question/p-yxwugwnm-ht.html" target="_blank" title="選擇字段的輸入字段屬性?"> 選擇字段的輸入字段屬性? </a> </li> <li> 3. <a href="http://hk.uwenku.com/question/p-kmtefeji-v.html" target="_blank" title="Django ORM:在字段屬性上選擇"> Django ORM:在字段屬性上選擇 </a> </li> <li> 4. <a href="http://hk.uwenku.com/question/p-hwzrlvhn-pp.html" target="_blank" title="如果屬性爲空,則忽略REST頭中的屬性傳輸 - SOAPUI Groovy"> 如果屬性爲空,則忽略REST頭中的屬性傳輸 - SOAPUI Groovy </a> </li> <li> 5. <a href="http://hk.uwenku.com/question/p-hrzglgkk-bmw.html" target="_blank" title="在XSLT中選擇多個屬性"> 在XSLT中選擇多個屬性 </a> </li> <li> 6. <a href="http://hk.uwenku.com/question/p-chaohwht-sw.html" target="_blank" title="SoapUI傳遞Groovy屬性"> SoapUI傳遞Groovy屬性 </a> </li> <li> 7. <a href="http://hk.uwenku.com/question/p-eyrwvlhl-bdu.html" target="_blank" title="JQuery選擇多個屬性"> JQuery選擇多個屬性 </a> </li> <li> 8. <a href="http://hk.uwenku.com/question/p-casjlvwq-bdn.html" target="_blank" title="選擇多個類屬性"> 選擇多個類屬性 </a> </li> <li> 9. <a href="http://hk.uwenku.com/question/p-xgfxkjyd-bc.html" target="_blank" title="在SOAPUI中使用groovy腳本進行的屬性傳輸"> 在SOAPUI中使用groovy腳本進行的屬性傳輸 </a> </li> <li> 10. <a href="http://hk.uwenku.com/question/p-dupnjlhi-ka.html" target="_blank" title="在soapUI中的Groovy腳本和屬性傳輸"> 在soapUI中的Groovy腳本和屬性傳輸 </a> </li> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block; text-align:center;" data-ad-layout="in-article" data-ad-format="fluid" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4606349252"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <li> 11. <a href="http://hk.uwenku.com/question/p-kgytfqnj-qd.html" target="_blank" title="mysql在多個字段中選擇"> mysql在多個字段中選擇 </a> </li> <li> 12. <a href="http://hk.uwenku.com/question/p-kwjlhqrg-hz.html" target="_blank" title="屬性到多個字段"> 屬性到多個字段 </a> </li> <li> 13. <a href="http://hk.uwenku.com/question/p-wwhzazfz-oa.html" target="_blank" title="多個選擇字段PHP"> 多個選擇字段PHP </a> </li> <li> 14. <a href="http://hk.uwenku.com/question/p-qgbjovhj-bo.html" target="_blank" title="MySQL:選擇多個字段"> MySQL:選擇多個字段 </a> </li> <li> 15. <a href="http://hk.uwenku.com/question/p-wjxhrbqv-bhy.html" target="_blank" title="如何在多對多的情況下將多個選擇字段更改爲多個輸入字段?"> 如何在多對多的情況下將多個選擇字段更改爲多個輸入字段? </a> </li> <li> 16. <a href="http://hk.uwenku.com/question/p-xznwacmd-bcn.html" target="_blank" title="在HTML中傳遞隱藏的輸入字段選擇選項"> 在HTML中傳遞隱藏的輸入字段選擇選項 </a> </li> <li> 17. <a href="http://hk.uwenku.com/question/p-urzzbiiu-rg.html" target="_blank" title="輸入屬性不是屬性選擇"> 輸入屬性不是屬性選擇 </a> </li> <li> 18. <a href="http://hk.uwenku.com/question/p-opzudkue-bht.html" target="_blank" title="如何將屬性與選擇框選擇的輸入字段綁定"> 如何將屬性與選擇框選擇的輸入字段綁定 </a> </li> <li> 19. <a href="http://hk.uwenku.com/question/p-skjfhgyg-rg.html" target="_blank" title="如何在選擇選項字段中選擇特定的自定義屬性?"> 如何在選擇選項字段中選擇特定的自定義屬性? </a> </li> <li> 20. <a href="http://hk.uwenku.com/question/p-kpxipmvf-zv.html" target="_blank" title="獲取選擇字段中選定選項的屬性"> 獲取選擇字段中選定選項的屬性 </a> </li> <li> 21. <a href="http://hk.uwenku.com/question/p-xnegwyqq-bgc.html" target="_blank" title="如何在多個選項中選擇選項數據屬性"> 如何在多個選項中選擇選項數據屬性 </a> </li> <li> 22. <a href="http://hk.uwenku.com/question/p-sdytfmzt-bdd.html" target="_blank" title="MySQL的從屬性表中選擇一個字段WHERE條件是多行"> MySQL的從屬性表中選擇一個字段WHERE條件是多行 </a> </li> <li> 23. <a href="http://hk.uwenku.com/question/p-qkyfoxcu-bgc.html" target="_blank" title="從多個字段中選擇更新?"> 從多個字段中選擇更新? </a> </li> <li> 24. <a href="http://hk.uwenku.com/question/p-vlckluph-zc.html" target="_blank" title="在格式爲json的字段中選擇多個ID"> 在格式爲json的字段中選擇多個ID </a> </li> <li> 25. <a href="http://hk.uwenku.com/question/p-fhnjkbgb-rc.html" target="_blank" title="選擇輸入參數中的Oracle多個字段"> 選擇輸入參數中的Oracle多個字段 </a> </li> <li> 26. <a href="http://hk.uwenku.com/question/p-avxyaowr-bdd.html" target="_blank" title="jQuery的時間選擇在多個輸入字段"> jQuery的時間選擇在多個輸入字段 </a> </li> <li> 27. <a href="http://hk.uwenku.com/question/p-yasiyznn-xq.html" target="_blank" title="在多個輸入字段上的jquery日期選擇器"> 在多個輸入字段上的jquery日期選擇器 </a> </li> <li> 28. <a href="http://hk.uwenku.com/question/p-sspevfdn-bgp.html" target="_blank" title="InternetExplorer.Application:選擇多個「選項值」字段"> InternetExplorer.Application:選擇多個「選項值」字段 </a> </li> <li> 29. <a href="http://hk.uwenku.com/question/p-teekwqfp-bna.html" target="_blank" title="一個屬性的多個字段"> 一個屬性的多個字段 </a> </li> <li> 30. <a href="http://hk.uwenku.com/question/p-cqukjwlu-bo.html" target="_blank" title="在Django生成的選擇字段中設置名稱屬性"> 在Django生成的選擇字段中設置名稱屬性 </a> </li> </ul> </div> <div> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="1575177025"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img.uwenku.com/uwenku/script/side.js?t=1644592048261"></script> <script type="text/javascript" src="http://img.uwenku.com/uwenku/plugin/highlight/highlight.pack.js"></script> <link href="http://img.uwenku.com/uwenku/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="5415218910" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> 最新問題 </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://hk.uwenku.com/question/p-csmlyttv-tb.html" target="_blank" title="在角度工人中導入模塊?"> 在角度工人中導入模塊? </a> </li> <li class="side_article_list_item"> 2. <a href="http://hk.uwenku.com/question/p-qrtnwcvg-tn.html" target="_blank" title="Python布爾方法命名約定"> Python布爾方法命名約定 </a> </li> <li class="side_article_list_item"> 3. <a href="http://hk.uwenku.com/question/p-qvpcimgh-py.html" target="_blank" title="jquery background-image"> jquery background-image </a> </li> <li class="side_article_list_item"> 4. <a href="http://hk.uwenku.com/question/p-eyghaugq-qh.html" target="_blank" title="從s3檢索音頻時出錯"> 從s3檢索音頻時出錯 </a> </li> <li class="side_article_list_item"> 5. <a href="http://hk.uwenku.com/question/p-szhcyset-qt.html" target="_blank" title="如何將QR碼自動添加到圖像"> 如何將QR碼自動添加到圖像 </a> </li> <li class="side_article_list_item"> 6. <a href="http://hk.uwenku.com/question/p-oscplsex-rc.html" target="_blank" title="16個任務(1048.5 MB)的序列化結果的總大小大於spark.driver.maxResultSize(1024.0 MB)"> 16個任務(1048.5 MB)的序列化結果的總大小大於spark.driver.maxResultSize(1024.0 MB) </a> </li> <li class="side_article_list_item"> 7. <a href="http://hk.uwenku.com/question/p-sfvehlqe-rx.html" target="_blank" title="打字稿,使用類沒有構造"> 打字稿,使用類沒有構造 </a> </li> <li class="side_article_list_item"> 8. <a href="http://hk.uwenku.com/question/p-khjthsaj-pd.html" target="_blank" title="PHP通過除去空鍵"> PHP通過除去空鍵 </a> </li> <li class="side_article_list_item"> 9. <a href="http://hk.uwenku.com/question/p-nihddvmm-ne.html" target="_blank" title="Jest TypeError:無法讀取未定義的'商店'"> Jest TypeError:無法讀取未定義的'商店' </a> </li> <li class="side_article_list_item"> 10. <a href="http://hk.uwenku.com/question/p-fsfdvsjn-mm.html" target="_blank" title="在C++中有沒有一種慣用的方法來防止運行一組操作導致集合發生變化的情況?"> 在C++中有沒有一種慣用的方法來防止運行一組操作導致集合發生變化的情況? </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> 相關問題</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://hk.uwenku.com/question/p-eolvvmig-ya.html" target="_blank" title="SOAPUI傳輸屬性"> SOAPUI傳輸屬性 </a> </li> <li class="side_article_list_item"> 2. <a href="http://hk.uwenku.com/question/p-yxwugwnm-ht.html" target="_blank" title="選擇字段的輸入字段屬性?"> 選擇字段的輸入字段屬性? </a> </li> <li class="side_article_list_item"> 3. <a href="http://hk.uwenku.com/question/p-kmtefeji-v.html" target="_blank" title="Django ORM:在字段屬性上選擇"> Django ORM:在字段屬性上選擇 </a> </li> <li class="side_article_list_item"> 4. <a href="http://hk.uwenku.com/question/p-hwzrlvhn-pp.html" target="_blank" title="如果屬性爲空,則忽略REST頭中的屬性傳輸 - SOAPUI Groovy"> 如果屬性爲空,則忽略REST頭中的屬性傳輸 - SOAPUI Groovy </a> </li> <li class="side_article_list_item"> 5. <a href="http://hk.uwenku.com/question/p-hrzglgkk-bmw.html" target="_blank" title="在XSLT中選擇多個屬性"> 在XSLT中選擇多個屬性 </a> </li> <li class="side_article_list_item"> 6. <a href="http://hk.uwenku.com/question/p-chaohwht-sw.html" target="_blank" title="SoapUI傳遞Groovy屬性"> SoapUI傳遞Groovy屬性 </a> </li> <li class="side_article_list_item"> 7. <a href="http://hk.uwenku.com/question/p-eyrwvlhl-bdu.html" target="_blank" title="JQuery選擇多個屬性"> JQuery選擇多個屬性 </a> </li> <li class="side_article_list_item"> 8. <a href="http://hk.uwenku.com/question/p-casjlvwq-bdn.html" target="_blank" title="選擇多個類屬性"> 選擇多個類屬性 </a> </li> <li class="side_article_list_item"> 9. <a href="http://hk.uwenku.com/question/p-xgfxkjyd-bc.html" target="_blank" title="在SOAPUI中使用groovy腳本進行的屬性傳輸"> 在SOAPUI中使用groovy腳本進行的屬性傳輸 </a> </li> <li class="side_article_list_item"> 10. <a href="http://hk.uwenku.com/question/p-dupnjlhi-ka.html" target="_blank" title="在soapUI中的Groovy腳本和屬性傳輸"> 在soapUI中的Groovy腳本和屬性傳輸 </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://hk.uwenku.com/contact">聯系我們</a></li> <li>© 2020 HK.UWENKU.COM</li> <li><a target="_blank" href="https://beian.miit.gov.cn/">沪ICP备13005482号-4</a></li> <li><script type="text/javascript" src="https://v1.cnzz.com/z_stat.php?id=1280101193&web_id=1280101193"></script></li> <li><a href="http://www.uwenku.com/" target="_blank" title="优文库">简体中文</a></li> <li><a href="http://hk.uwenku.com/" target="_blank" title="優文庫">繁體中文</a></li> <li><a href="http://ru.uwenku.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.uwenku.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.uwenku.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.uwenku.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.uwenku.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.uwenku.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.uwenku.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.uwenku.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.uwenku.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.uwenku.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.uwenku.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?f78a970f17b19a79fc477a3378096f29"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>