【发布时间】:2012-02-16 09:16:11
【问题描述】:
我收到了这样的 XSD 以获取服务响应:
<xs:element name="AddEditResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="response" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
请注意,响应消息中唯一元素的名称是“response”。
[ServiceContract]
[XmlSerializerFormat]
public interface IService
{
[OperationContract]
[return:XmlElement("return")]
bool AddEdit(MultipleElements elements);
}
我将 XmlElement 属性应用于 AddEdit 操作的返回值,但仍然得到以下 XSD:
<xs:element name="AddEditResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="AddEditResult" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
无论 [return:XmlElement] 属性中的名称如何,AddEditResponse 元素内的元素名称都保持不变。
为什么会这样?有没有办法在 WCF 中自定义这些数据交换格式的细节?
谢谢。
【问题讨论】: