wsdl文檔解析實現(xiàn)webservice的soap協(xié)議請求(Python/Jmeter)

最近做壓測接觸到了webservice接口,它用到的是soap協(xié)議跟老程序員們咨詢了一下,說這種接口也都好久沒有寫過了,但是其實都是http請求查牌,只不過soap協(xié)議上傳的是xml的報文。所以發(fā)起http請求的方式就有很多滥壕。網(wǎng)上也可以查到很多比如Python調(diào)用soap協(xié)議纸颜,Jmeter調(diào)用soap協(xié)議等。

由于只有個wsdl文檔绎橘,想要寫成腳本胁孙,我需要讀懂這個wsdl文檔,比如


接口名稱.png

入?yún)?png

其實這個wsdl文檔只是一個對接口請求結(jié)構(gòu)的一個描述文件称鳞,肉眼去讀縱然可以看個大概涮较,但是對于xml不太熟的還是比較累的,而且容易漏掉關(guān)鍵信息冈止,所以用soapUI這個工具來讀就可以了狂票。

image.png
image.png

soapUI是一個可以發(fā)起webservice請求的工具,具體使用方法本人也不熟熙暴,就不多嘴了闺属。這里用他的主要目的是解析wsdl文檔。

首先點擊soap按鈕周霉,選擇wsdl文件導(dǎo)入進來掂器,就可以生成測試用例了。雙擊request1俱箱,可以看到完整的請求結(jié)構(gòu)


image.png

所有尖括號中間的問號就是參數(shù)了国瓮。URL在上面可以看到,左側(cè)可以填寫用戶名和密碼等信息狞谱。惦記綠色的三角形按鈕(“播放”)就可以發(fā)起請求了乃摹,他的響應(yīng)也是xml文本,在窗口的右半部分。


image.png

如果看不懂不要緊跟衅,通過fiddler可以抓到這個發(fā)出的請求


image.png

image.png

所以到這里就任由我們?nèi)グl(fā)揮了孵睬,比如用Python去請求,可以做自動化之類的事情:

import requests


wsdl_url = "https://0.0.0.0:00000/iot/ccs/easisan"
headers = {'content-type': 'text/xml;charset=UTF-8',
           'Authorization': 'Basic 嘻嘻嘻嘻嘻嘻嘻',
           'User-Agent': 'Apache-HttpClient/4.5.5 (Java/16.0.1)',
}

body = """
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:rfc:functions">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:YXIOT_EASISANDSER>
         <!--Optional:-->
         <ADATTATS>20220131</ADATTATS>
         <!--Optional:-->
         <ATIMTATS>0031</ATIMTATS>
         <!--Optional:-->
         <FSTDCCFA>1818.16</FSTDCCFA>
         <!--Optional:-->
         <IFFST></IFFST>
         <!--Optional:-->
         <ISTATUS></ISTATUS>
         <!--Optional:-->
         <IVERTRAG>3016493609</IVERTRAG>
         <!--Optional:-->
         <METERCODE>001501906036050</METERCODE>
         <!--Optional:-->
      </urn:YXIOT_EASISANDSER>
   </soapenv:Body>
</soapenv:Envelope>
"""


response = requests.post(wsdl_url, data=body, headers=headers, verify=False)
print(response.content)

再比如說jmeter請求用來做性能測試


image.png

總結(jié):webservice協(xié)議其實還是http協(xié)議范圍內(nèi)的請求与斤,只不過它看起來更加原始肪康,不像我們常見的http接口封裝好了json什么的。就把他當(dāng)成一個普通的http接口對待就可以撩穿,不需要在jmeter里安裝soap插件磷支,也不需要在Python里面安裝專門發(fā)送soap請求的三方庫比如zeep,suds之類的食寡,其實requests就可以應(yīng)付雾狈。這里面主要的注意的是請求頭里面的Content-Typey一般是text/xml。其實要不是通過wsdl文檔去寫這個腳本的話抵皱,通過頁面等方式抓去到類似結(jié)構(gòu)的接口善榛,一般根本不能引起我們的注意,以前也抓到過類似的請求呻畸,其本身沒什么難度移盆,無非就是入?yún)⒑统鰠⒍际莤ml。主要wsdl文檔你不了解的話伤为,人家扔給你讓你出腳本咒循,就會一頭霧水。所以一般通過soapUI或者其它方式把它解析出來就好了绞愚。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末叙甸,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子位衩,更是在濱河造成了極大的恐慌裆蒸,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糖驴,死亡現(xiàn)場離奇詭異僚祷,居然都是意外死亡,警方通過查閱死者的電腦和手機贮缕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門久妆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人跷睦,你說我怎么就攤上這事筷弦。” “怎么了抑诸?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵烂琴,是天一觀的道長。 經(jīng)常有香客問我蜕乡,道長奸绷,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任层玲,我火速辦了婚禮号醉,結(jié)果婚禮上反症,老公的妹妹穿的比我還像新娘。我一直安慰自己畔派,他們只是感情好铅碍,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著线椰,像睡著了一般胞谈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上憨愉,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天烦绳,我揣著相機與錄音,去河邊找鬼配紫。 笑死径密,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的躺孝。 我是一名探鬼主播睹晒,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼括细!你這毒婦竟也來了伪很?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤奋单,失蹤者是張志新(化名)和其女友劉穎锉试,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體览濒,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡呆盖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了贷笛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片应又。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖乏苦,靈堂內(nèi)的尸體忽然破棺而出株扛,到底是詐尸還是另有隱情,我是刑警寧澤汇荐,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布洞就,位于F島的核電站,受9級特大地震影響掀淘,放射性物質(zhì)發(fā)生泄漏旬蟋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一革娄、第九天 我趴在偏房一處隱蔽的房頂上張望倾贰。 院中可真熱鬧冕碟,春花似錦、人聲如沸匆浙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吞彤。三九已至我衬,卻和暖如春叹放,著一層夾襖步出監(jiān)牢的瞬間饰恕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工井仰, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留埋嵌,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓俱恶,卻偏偏與公主長得像雹嗦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子合是,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354