2010-04-28 4 views
0

J'ai un service wcf simple qui utilise la liaison basicHttp, je souhaite passer quelques informations du client à ce service via un en-tête SOAP personnalisé. Mon client est une application .net ciblant .Net 1.1, en utilisant Visual Studio J'ai créé le proxy (Ajout d'une nouvelle référence Web pointant vers mon service WCF) Je suis capable d'appeler des méthodes dans le service WCF mais pas en mesure de transmettre les données entête de message. Je ai essayé de remplacer "GetWebRequest" et ajouté des en-têtes personnalisés dans le proxy, mais pour une raison quelconque lorsque j'ai essayé d'accéder à l'en-tête en utilisant "OperationContext.Current.IncomingMessageHeaders.FindHeader", il n'est pas thier.Passage d'en-têtes personnalisés du client .Net 1.1 à un service WCF

Une idée de comment résoudre ce prob?

Voici comment j'ai ajouté les en-têtes

protected override System.Net.WebRequest GetWebRequest (Uri uri)

{

HttpWebRequest demande; request = (HttpWebRequest) base.GetWebRequest (uri); request.Headers.Add ("tesData", "test");
demande de retour;

}

Répondre

0

vous essayez d'utiliser de manière très exotique! .NET 1.1 - c'est rétro maintenant. Mais revenons maintenant à vous problème. Je suis sûr que vous pouvez mettre en œuvre tout ce dont vous avez besoin en ce qui concerne HttpWebReques t et HttpWebResponse classes. Vous devriez regarder le proxy généré automatiquement sur un modèle. Cela fonctionnera également sur .NET 1.0.

Probablement si serait suffisant pour faire seulement une petite modification dans le code de proxy généré. Par exemple, au lieu de remplacer une méthode existante du proxy, vous pouvez en ajouter une nouvelle où vous placez de nouvelles données dans l'en-tête HTTP en respectant request.Headers.Add.

Si cela ne fonctionne pas, vous pouvez réduire votre code serveur et client au minimum et ajouter ce code à votre question. Ensuite, on pourrait reproduire votre problème et mieux vous aider.

Cordialement

Questions connexes