背景
最近項目中在對接某保險公司線上webService接口時,無奈Golang沒有像java那般有現成的jar包或庫使用,隻好從底層基于soap協定通過http post來實作對接。 對接過程中,由于開始并未注意版本問題(webService接口使用soap1.2協定版本,對接時使用soap1.1協定版本),導緻很長時間對接報500傳回。
SOAP(Simple Object Access Protocol )簡單對象通路協定是在分散或分布式的環境中交換資訊的簡單的協定,是一個基于XML的協定,它包括四個部分:SOAP封裝(envelop),封裝定義了一個描述消息中的内容是什麼,是誰發送的,誰應當接受并處理它以及如何處理它們的架構;SOAP編碼規則(encoding rules),用于表示應用程式需要使用的資料類型的執行個體; SOAP RPC表示(RPC representation),表示遠端過程調用和應答的協定;SOAP綁定(binding),使用底層協定交換資訊。
soap 1.1 使用 為Content-Type: text/xml; charset=UTF-8 soap 1.1 使用 SOAPAction soap 1.2 使用 為Content-Type: application/soap+xml;charset=UTF-8 soap 1.2 不使用SOAPAction
主要展現在消息格式的命名空間上。
以需求驅動技術,技術本身沒有優略之分,隻有業務之分。 本文轉自asd1123509133 51CTO部落格,原文連結: http://blog.51cto.com/lisea/2066046 ,如需轉載請自行聯系原作者