在這個大家都愛用 REST API 的年代,偶爾你可能還是會收到客戶寄來的 .wsdl 檔案,然後滿臉問號:「SOAP 是什麼?這東西還在用嗎?」
其實,SOAP 雖然有點「老派」,但它依然活躍在許多需要高安全性、穩定性的大型系統中,像是金融、政府、醫療機構等等。
這篇文章會用淺顯的方式帶你認識:
🧼 SOAP 是什麼?
SOAP(Simple Object Access Protocol) 是一種通訊協定,專門用來讓兩個不同的系統(不管是用 Java、Python 還是 .NET)透過網路互相交換資料。
它最主要的特色就是:
• 📦 使用 XML 格式包資料
• 🚚 透過 HTTP、SMTP 等協定傳送
• 🛡️ 支援安全性、交易控制、身份驗證等功能
• 🔧 高度結構化與標準化
簡單說,它是為「嚴謹、穩定、安全」而設計的。
🔁 一張圖看懂 SOAP 的流程

🧾 那 WSDL 又是什麼?
當你跟客戶對接 SOAP API 的時候,常常會收到一個 .wsdl 檔案,這個檔案就是:Web Service Description Language(WSDL),你可以把它想像成「SOAP 的 API 說明書」。
裡面會告訴你:
• 這個服務有幾個功能(例如:查詢客戶、送出訂單)
• 每個功能需要什麼參數?格式長怎樣?
• 回傳結果會是什麼?也是 XML 格式
• 呼叫的網址(endpoint)、傳輸方式(通常是 HTTP)
🆚 REST vs SOAP 快速比較

🏛 哪些地方還會用 SOAP?
雖然現在很多人偏好 REST,但以下場景仍然經常使用 SOAP:
• 🏦 銀行與保險系統:需要交易一致性與高安全性
• 🏥 醫療系統:使用 HL7 或其他 SOAP-based 標準
• 🏛 政府單位開放 API:很多仍用 WSDL 對接外部系統
• 🏗 老系統整合:例如 ERP、CRM 系統還沒轉換成 REST
🧵 小結
• SOAP 是一種嚴謹的資料交換協定,主打穩定與安全
• WSDL 是一份服務說明書,可以讓你快速整合 SOAP API
• 雖然新系統多採用 REST,但在一些企業或政府系統整合中,SOAP 仍然很重要
💡 補充:SoapUI 是你最好的 WSDL 幫手
如果你只是想「快速看看這個 WSDL 裡有什麼功能、能不能通」,強烈推薦你使用 SoapUI:
• ✅ 免費版就很好用(也有付費的 Pro)
• ✅ 支援 WSDL 一鍵匯入、自動產生所有方法
• ✅ 可以點選介面、填寫欄位直接發送 SOAP Request
• ✅ 支援 Request/Response 記錄、Mock Service 等進階功能
📌 使用方式簡單:
• 開啟 SoapUI → File → New SOAP Project
• 輸入 WSDL 網址或路徑
• SoapUI 會自動展開所有操作,點選就能測試!
結語
雖然SOAP古老, 但卻也是穩定的交換資料協定與格式, 它的精神值得我們參考, 後續也進化出REST、GRPC…等通訊協定, 因此把基礎打好也是非常重要的一環, 就讓我們好好認識這古老又神秘的SOAP吧!
✅ 如果你也曾經被 .wsdl 搞到頭痛,歡迎留言分享你的經驗!