0
閱讀後XmlSerializer with specified pattern not working我嘗試實現這樣的服務:OperationContract與XmlSerializerFormat。但是我的Soap消息包含一個額外的標記,它是操作參數。我如何刪除該標籤?WCF XmlSerializerFormat和OperationContract:嵌套的soap參數序列化
這裏是我的服務樣本
[System.ServiceModel.ServiceContractAttribute(Namespace = "http://mynamespace.com/", ConfigurationName = "ConfigName")]
public interface MyInterfacePort
{
[System.ServiceModel.OperationContractAttribute(Action = "http://mynamespace.com/opName", ReplyAction = "*")]
[System.ServiceModel.FaultContractAttribute(typeof(MyError), Action = "http://mynamespace.com/opName", Name = "opErr")]
[System.ServiceModel.XmlSerializerFormatAttribute()]
opResponse opName(opRequest request);
然後序列化的要求:
[System.Serializable]
public partial class opRequest
{
public string myProperty;
生成的SOAP消息:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<opName xmlns="http://mynamespace.com/">
<request>
<myProperty>262157</myProperty>
</request>
</opName>
</s:Body>
</s:Envelope>
我的服務不處理額外<要求>標籤
感謝您的幫助。
這通常是svcutil生成的適配器,但是使用messageContract您不能使用可選字段。每個消息體將被髮送到服務。我的需求就像引用的帖子(http://stackoverflow.com/questions/7557887/xmlserializer-with-specified-pattern-not-working),其中「degorolls」暗示不使用MessageContract。 – FXB