使用SoapUi來建構wsdl形式的Mock Api

紀緯明 Weming Chi 2020/06/29 18:00:00
116

SoapUi建構wsdl形式的Mock Api

前言:

                  在專案開發中,多多少少都會需要串接到Api,那或許你已經對json格式的Restful Api感到太熟悉,不妨來看看用Xml格式發送的Api吧 ! Web Service由四個核心元件所組成,分別是XML、SOAP、WSDL及UDDI,今天要介紹的就是Web Service的其中一種,也就是WSDL,並且今天要學習如何建立WSDL的Mock回傳,那就開始吧 !

工具準備:

        首先我們必須先下載工具:SoapUi ,這篇就不簡介如何下載安裝此工具了。

                                           

        在我們打開介面後你應該會看到如下圖的樣子 ↓ 然後我們點擊左上角的Soap !

                     

        點開後我們可以看到如下的介面 ,Project Name可以打上你想要取的專案名稱,至於Initial WSDL的部分是一個wsdl的網址,範例圖片在下下方 ↓ ,網址輸入好後就可以按下OK囉!

                      

                        

        按下OK後會看到如下圖 ↓ 紅色箭頭標示的是他解讀玩XML後所分析出的function名稱

                        

        接下來就是重頭戲,我們要建立此Api的Mock服務,右鍵點擊你的標題名稱裏頭會有一個Generate Soap Mock Service如下圖 紅色箭頭標示 ,點選後會看到如下下圖的畫面 ↓ ↓ 

                        

                               

        之後按下OK ,取完想要的Mock Server名稱即可看到如下圖的畫面  

                          

        再來我們要來檢視此Mock Service的Request需要帶入什麼參數以及建立回傳的Response的假資料,那首先我們先雙擊你想要建立假資料的function Response也就是如下圖左邊的紅色箭頭  ,點開後會如圖中右邊的畫面,我們可以在 ? 的地方輸入想要建立的假資料內容。

 

                                

        再來我們點擊下圖紅色箭頭的地方來建立一個新的Request ,建立好後我們會看到下下圖 ↓ 的畫面中?的地方是你需要帶入的參數,當你把帶入的參數都設定好後,我們就來看看執行後的結果吧 !!!

 

 

                          

                          

 

        我們回到一開始這個畫面點選下圖 上方的綠色箭頭,點選後我們將剛剛上面的Request畫面再打開,點選下下圖 ↓ 上方的綠色按鈕即可看到你帶入的參數所回傳的結果,當然這結果是妳剛剛自己設定的內容喔 !!!

 

                          

                          

        當然這樣你會說好像有點乾沒什麼用,接下來要來教如何用Jboss啟動妳剛剛的MockService並且在Browser上看到你呼叫的次數以及回傳內容喔 !!!

        首先我們要把你剛剛的Mock Service包裝成War檔,右鍵整包專案且選擇Deploy as War 如下圖所示  ,之後把WebUi那欄勾選起來,War File是你自取的檔名,然後選擇要輸出的路徑,按下OK後會在路徑下產出一個War檔。

                            

                            

                           

        再來你需要一台裝有Jboss的Server,安裝的說明這篇就不敘述了,可以參考其他文章;將您的War檔放到 Jboss的/standalone/deployments路徑底下,放好後,再進入Jboss的bin目錄下,下sh start.sh指令啟動Jboss,之後便可在你的Browser上輸入網址,這邊要注意網址的部分,前面是你server的ip+port號,再來/{你的war檔名}/{你在SoapUi取的MockService名字}?wsdl,舉例:http://XXX.XXX.XX.XXX:8380/testMock/MockService?wsdl 輸入正確的網址後你就可以在Browser上看到如下的畫面 ↓ ,這樣就代表你佈署war檔成功囉!!!,之後能在你的SoapUi介面中送出Request就能在下圖中看到囉!!!,這就是我分享的SoapUi 建立WSDL Mock Api的方法囉!!!

                            

紀緯明 Weming Chi