|
Default
namespace MyNamespace
{
using System.Runtime.Serialization;
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute()]
public partial class DataContract1 : object, System.Runtime.Serialization.IExtensibleDataObject
}
[System.ServiceModel.ServiceContractAttribute(ConfigurationName="IService1")]
public interface IService1
{
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService1/MyOperation2", ReplyAction="http://tempuri.org/IService1/MyOperation2Response")]
string MyOperation2(EightBall.DataContract1 dataContractValue);
}
With XmlSerializer Option
The data structure is not decorated with the [DataContractAttribute], but [XmlTypeAttribute]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://schemas.datacontract.org/2004/07/EightBall")]
public partial class DataContract1
The input and output message of the operation is wrapped in a separate class and decorated with [MessageContractAttribute]. The properties within the message class has [XmlElementAttribute] attribute.
public partial class MyOperation1Request
{
[System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://tempuri.org/", Order=0)]
[System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
public string myValue;…
The operations within the service interface have an attribute of [XmlSerializerFormatAttribute]
public interface IService1
{
[System.ServiceModel.OperationContractAttribute(Action="http://tempuri.org/IService1/MyOperation1", ReplyAction="http://tempuri.org/IService1/MyOperation1Response")]
[System.ServiceModel.XmlSerializerFormatAttribute()]
MyOperation1Response MyOperation1(MyOperation1Request request); |