Договор на обслуживание WCF и договор на передачу данных
У меня есть следующий код
[ServiceContract(Namespace = "http://www.myweb.com/prod")]
public interface IBaseService
{
[OperationContract]
public string GetName(IDMessageContract ID)
}
[ServiceContract(Namespace = "http://www.myweb.com/prod/child")]
public interface IChildService : IBaseService
{}
public class BaseService
{ public string GetName(IDMessageContract ID)}
public class ChildService: IChildService
{}
[MessageContract]
public class IDMessageContract
{
public string ID{get;set;}
}
В приведенном выше сценарии мне нужен SOAP-заголовок метода GetName, содержащий пространство имен "http://www.myweb.com/prod/child"
1 ответ
Если вам нужен SOAP-заголовок с указанным пространством имен, вы должны указать этот заголовок в контракте сообщения и использовать его свойство Namespace. Что-то вроде:
[MessageContract]
public class IDMessageContract
{
[MessageHeader(Namespace="http://www.myweb.com/prod/child")]
public string MyHeader { get; set;}
[MessageBodyMember]
public string ID{get;set;}
}