3
我正在使用WCF创建SOAP Web服务,其中包含预定义的XSD合约以及从该XSD自动生成的C#类型。如何避免使用XmlSerializerFormat进行WCF服务时的包装?
[ServiceContract]
[XmlSerializerFormat]
public interface IEBooking10
{
[OperationContract]
[XmlSerializerFormat]
OTA_CancelRS OTA_Cancel(OTA_CancelRQ rq);
}
OTA_CancelRQ & OTA_CancelRS是自动生成的类型,与相应的XML序列化属性。 参数匹配裹在OTA_Cancel和OTA_CancelResponse元素,像这样:
<OTA_Cancel>
<OTA_CancelRQ> ... </OTA_CancelRQ>
</OTA_Cancel>
和
<OTA_CancelResponse>
<OTA_CancelRS> ... </OTA_CancelRS>
</OTA_CancelResponse>
如何避免包装是WCF确实给OTA_Cancel操作的输入参数?
您确定邮件合同可以与XML序列化程序格式一起使用吗?我希望不得不使用数据合同格式,但我从未尝试过将这两种格式结合起来。 – 2011-12-30 15:01:55
@编程英雄:是的,我相信他们可以。数据合同控制数据的序列化,但消息合约控制消息本身。消息内部的数据仍然通过选定的序列化方法进行序列化。 – 2011-12-30 16:52:24
它的工作:)小修正,属性不能为空,更改“public void OTA_CancelRQ {get; set;}”为公众“OTA_CancelRQ OTA_CancelRQ {get; set;}”,也为响应。 – omittones 2011-12-30 23:56:09