On the interface:
Apply the ServiceContractAttribute with the service namespace.
Apply the XmlSerializerFormat(SupportsFaults = true) attribute.
On the interface's operation:
Apply FaultContractAttribute.
Apply OperationContractAttribute.
On the service class:
Apply any behaviour attributes, such as for error handling.
Apply the ServiceBehaviourAttribute, and set ConcurrencyMode = ConcurrencyMode.Multiple, IncludeExceptionDetailInFaults = false.
The operation should take a type such as:
[MessageContract(IsWrapped = false)]
public class Input
{
[MessageHeader(Name = "headerData")]
public Header Header { get; set; }
[MessageBodyMember(Name = "inputData")]
public Body Body { get; set; }
}
The response must be similar:
[MessageContract(IsWrapped = false)]
public class Response
{
[MessageHeader(Name = "headerData")]
public Header Header { get; set; }
[MessageBodyMember(Name = "responseData")]
public Body Body { get; set; }
}
0 comments:
Post a Comment