我们有一个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的基本机制,请随时指出它们或纠正我上面的任何假设。