SoapUI guide - Read the Docs

24
SoapUI guide 發� 1.0.0 2019 10 17

Transcript of SoapUI guide - Read the Docs

SoapUI guide發� 1.0.0

2019 年 10 月 17 日

�容:

1 創建 SOAP 項目 3

2 配置 SOAP WSS 7

3 SOAP 項目添加 WSDL 11

4 發送請求到對應的操作 13

5 其它�明 19

i

ii

SoapUI guide, 發� 1.0.0

本文檔中將介紹如何在 SOAPUI 中請求 Oracle 的 WSDL, 如未安裝 SOAP UI, 可到 SoapUI 頁面進行下載�安裝在你的電腦上。

�明: 以 SOAP Web Services for Oracle Supply Chain Management Cloud 的 findItem 操作作爲本次演示使用

�容: 1

SoapUI guide, 發� 1.0.0

2 �容:

CHAPTER 1

創建 SOAP 項目

介紹在 SoapUI 中創建一個新的 SOAP 項目

通過菜單 File -> New SOAP Project 來進行新建 SOAP 項目

會彈出一個窗口,如下圖

3

SoapUI guide, 發� 1.0.0

輸入完項目名稱如: soap-demo,點擊 OK 按鈕,確認新建項目

創建成功之後,在左邊的窗口可以看到已經創建好的 soap-demo 項目了

4 Chapter 1. 創建 SOAP 項目

SoapUI guide, 發� 1.0.0

5

SoapUI guide, 發� 1.0.0

6 Chapter 1. 創建 SOAP 項目

CHAPTER 2

配置 SOAP WSS

因爲是請求 Oracle Fusion 的 WSDL, 請求對應的操作是需要在 SOAP 信封的頭部添加驗證信息。

如果你使用的 WSDL 地址是不需要驗證的,可跳過本節,直接查看SOAP 項目添加 WSDL.

在已創建的 SOAP 項目名稱 右鍵,然後選擇 Show Project View , 如下圖:

彈出 SOAP 項目的項目預覽窗口,先切�到 WS-Security Configurations 選項,按照下圖所示,然後選擇 Outgoing WS-Security Configurations 選項

7

SoapUI guide, 發� 1.0.0

這裏填入的名稱是:MYWSS

下一步,向已剛添加好的 MYWSS 添加一個 Timestamp 實體,如下圖:

8 Chapter 2. 配置 SOAP WSS

SoapUI guide, 發� 1.0.0

下一步,向已剛添加好的 MYWSS 添加一個 Username 實體,如下圖:

下一步,給 **Username** 實體設定用�名和密碼,用於請求 WSDL/SOAP Api 驗證使用。

• Password Type: PasswordText

設定 Username 實體的用�名和密碼之後,關閉本次打開 Project View 窗口。

至此, 完成了 SOAP WSS 的配置。

9

SoapUI guide, 發� 1.0.0

10 Chapter 2. 配置 SOAP WSS

CHAPTER 3

SOAP 項目添加 WSDL

在已創建好的 SOAP 項目名上右鍵,如下圖:

在彈出的 Add WSDL 創建填入資料, 如下圖:

11

SoapUI guide, 發� 1.0.0

點擊 OK 之後,需要等待一會,添加完一個 WSDL 之後,SOAP 項目中就會生成可以調用的操作,如下圖

至此,SOAP 項目添加 WSDL 介紹完畢。

12 Chapter 3. SOAP 項目添加 WSDL

CHAPTER 4

發送請求到對應的操作

這里將會調用 ItemServiceSoapHttp 的 findItem 操作作爲演示

13

SoapUI guide, 發� 1.0.0

雙擊 Request 1 會彈出一個提供給你提交請求的界面, 如下圖:

14 Chapter 4. 發送請求到對應的操作

SoapUI guide, 發� 1.0.0

請求的�容是工具通過 SOAP 信封提供的案例自動生成的,我們的工作是將 SOAP 信封中填入合理的數據來進行請求。

在這個演示中,是請求 findItem 操作。

頭部添加請求驗證頭信息:

爲了能�驗證成功,首先需要給請求添加請求頭,可通過在請求窗口右鍵�選擇 Outgoing WSS -> ApplyMYWSS

如果 Outgoing WSS �有可選擇的項,可參考配置 SOAP WSS.

爲了避免出現類似下面的錯誤:

<env:Fault xmlns:ns0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-↪→secext-1.0.xsd">

(continues on next page)

15

SoapUI guide, 發� 1.0.0

(繼續上一頁)

<faultcode>ns0:InvalidSecurityToken</faultcode><faultstring>InvalidSecurityToken : The security token is not valid.</

↪→faultstring><faultactor/>

</env:Fault>

和添加請求頭類似,需要添加 Timestamp , 在請求窗口右鍵�選擇 Add WS-Timestamp

如果需要請求窗口中的 XML 更方便�讀,可以選擇 Format XML

然後 SOAP 信封的�容,使用

<soapenv:Body><typ:findItem>

<typ:findCriteria><typ1:fetchStart>0</typ1:fetchStart><typ1:fetchSize>5</typ1:fetchSize>

</typ:findCriteria></typ:findItem>

</soapenv:Body>

意思是: 查詢 5 條記�返回

通過上面的設定,點擊請求窗口左上角的圖標按鈕,進行發送請求

查看請求結果:

16 Chapter 4. 發送請求到對應的操作

SoapUI guide, 發� 1.0.0

�明: 圖片中的 1 是指可以切�返回結果的顯示格式

如上圖中,切�到 Raw,可以看到第 1 行顯示的是 HTTP/1.1 200 OK 表示請求成功了

通過查看響應窗口的 Raw 顯示,出現以下幾個情�:

• HTTP/1.1 401 Unauthorized 是驗證失敗,可參考頭部添加請求驗證頭信息 進行處理

• HTTP/1.1 500 Internal Server Error 是請求錯誤,可在右邊的窗口切�到 XML 顯示,查看具體的返回的錯誤提示,通常錯誤信息是在 faultstring 中可以看到

如果返回的 faultstring 是 InvalidSecurityToken : The security token is not valid. ,可參考頭部添加 Timestamp 信息 進行處理

至此, 在 SoapUI 請求 wsdl 的操作已經介紹完。

17

SoapUI guide, 發� 1.0.0

18 Chapter 4. 發送請求到對應的操作

CHAPTER 5

其它�明

• 一個操作是可以添加多個請求的

如上圖,在操作節點上右鍵選擇」New request」

• 請求窗口的基本介紹

19

SoapUI guide, 發� 1.0.0

響應窗口: 切�到顯示 XML 格式,能�快速獲取到請求錯誤的原因,切�到顯示 Raw 格式,可以快速查看到服務器響應的 http 狀態碼,來確定當次請求的請求情�。

20 Chapter 5. 其它�明