我們有一個xsd模式,概述了我們系統中所有可能的數據元素,其中一些是簡單類型元素,一些是複雜類型。我們將這個模式提供給另一位將嘗試使用SOAP編寫Web服務的開發人員。一個啞巴下來的樣本中的xsd看起來像這樣。XSD模式和SOAP請求
<xs:element name="Element1"> .... </xs:element>
<xs:element name="Element2"> .... </xs:element>
<xs:element name="Element3"> .... </xs:element>
<xs:element name="Element4"> .... </xs:element>
我打算通過調用他的WebService方法發送我們的數據給他。由於我的系統生成的消息類型,我將有兩種類型的消息。第一個包含Element1和Element4,而第二個類型可能包含Element3,Element4和Element1。那麼他在這裏有什麼選擇?
- 他是否必須創建兩個單獨的Web服務,我會相應地使用它們?
- 創建一個Web服務,我將爲我的兩種消息類型使用該Web服務。
在第二個opotion中,它是否會生成任何模式驗證錯誤?如果有,是否有辦法避開它?我可以向他發送一個自定義SOAP頭以指示我發送的消息類型,以便他可以根據特定的xsd元素對其進行驗證?
我對WebService比較陌生,所以如果我誤解了SOAP,XSD和WebService的基本機制,請隨時指出它們或糾正我上面的任何假設。