我最近在SOAP Web服務上工作很多,在這方面有一個問題困擾我。什麼會更好?本地WSDL vs從服務器遠程下載?
A.獲取WSDL和本地存儲它的客戶端,然後只撥打電話到服務
- 如果服務器保持向後兼容的客戶端將仍然使用舊WSDL工作,即使服務器端提供了新的版本(服務和WSDL)。
- 您無法從WSDL獲取端點URL,因此如果服務端點位置已更改(但不是WSDL),則需要重新配置客戶端。
- 與服務器的任何附加的呼叫
B.使用WSDL位置?
有什麼優點和缺點?
我最近在SOAP Web服務上工作很多,在這方面有一個問題困擾我。什麼會更好?本地WSDL vs從服務器遠程下載?
A.獲取WSDL和本地存儲它的客戶端,然後只撥打電話到服務
B.使用WSDL位置?
有什麼優點和缺點?
哪個更好取決於你的設置和你的需要,但我個人更喜歡具有WSDL本地,客戶端內這些原因:
下點通常不是問題:
你是不是能夠從WSDL獲得端點URL,所以如果服務端點的位置已經改變(但WSDL沒有),你需要重新配置客戶端。
The endpoint URL in the WSDL is not always correct即使它是,通常必須在相同的URL服務僅通過貼敷?wsdl
參數,它所以如果位置改變之後,你不會找到該服務,但你不會找到訪問的WSDL WSDL也是。無論如何,服務端點URL需要在客戶端進行配置。
案例很少但是有效:)我原型化了服務發現的使用,並且wsdls存儲在那裏,並且位置指向了正確的一個。主要目標是 - 客戶不關心服務在哪裏,只在ServiceDiscovery的地方。但是由於其他問題(主要是不同的服務認證方法),這個想法被放棄了。 –
請注意,許多環境在任何情況下都無法使用動態更改的WSDL。我碰巧認爲這是件好事。如果服務接口發生變化,那麼客戶端不僅需要新的WSDL,還需要對服務進行修改。自動更新客戶端可能會導致無法進行測試的錯覺。 –
@JohnSaunders:好點! – Bogdan