J'ai les wrappers WCF suivantes pour appeler un service REST:Comment j'utilise OperationContract pour capturer un en-tête de réponse à partir d'une requête POST?
[DataContract]
public class InterestingResponse : IExtensibleDataObject
{
[MessageHeader(Name="x-interesting-id")]
public string InterestingId { get; set; }
public ExtensionDataObject ExtensionData { get; set; }
}
[ServiceContract()]
public interface IManagement
{
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = @"somePathHere")]
InterestingResponse DoInteresting();
}
La demande est envoyée au service et se termine avec succès. La réponse HTTP a le corps vide et l'en-tête x-interesting-id
. Je souhaite que le code côté client renvoie une instance de InterestingResponse
avec InterestingId
étant définie sur la valeur x-interesting-id
à partir de la réponse.
Une fois que IManagement.DoInteresting()
retourne sur le client la référence nulle est retournée parce que bien, la réponse était vide, rien à désérialiser, je suppose.
Comment aurais-je un objet retourné à la place avec la valeur d'en-tête désérialisée en tant que membre d'objet?