Есть ли способ заставить сериализовать DataContractSerializer [MessageContract]
так же, как при передаче через SOAP?
У меня есть класс, который выглядит следующим образом на проводе для вызова WCF:
<TestRequest xmlns="http://webservices.test.com/ServiceTest/1.1">
<Name>Just Me</Name>
</TestRequest>
При сериализации с использованием DCS это выглядит так:
<TestRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" xmlns="http://schemas.datacontract.org/2004/07/ServiceTest">
<_x003C_Name_x003E_k__BackingField z:Id="2">Just Me</_x003C_Name_x003E_k__BackingField>
</TestRequest>
Я убежден, что это несоответствие связано с тем, что мой класс размечен как контракт сообщений, а не контракт данных:
[MessageContract]
[Serializable]
public class TestRequest
{
[MessageBodyMember]
public string Name { get; set; }
}
Есть ли способ заставить сериализовать сообщения DCS так же, как это делает WCF при создании сообщения SOAP?