D'en-tête SOAP Action n'a pas été compris

Je suis en train de consommer un service web en C#. Chaque fois que j'essaie d'appeler la fonction de la classe de service web, j'obtiens un "en-tête SOAP Action n'a pas été compris".J'ai ajouté une référence web[pas de service de référence] pointant vers le service web dans mon projet. Les étapes suivantes ont été prises pour ajouter la référence web

1) clic droit sur le projet -> Ajouter WebReference

lorsque j'ai examiné le service web dans un navigateur web j'ai trouvé ça dans l'en-tête

<wsdl:definitions name="MyService" targetNamespace="http://tempuri.org/">
    <wsp:Policy wsu:Id="WSHttpBinding_ICAIService_policy">
        <wsp:ExactlyOne><wsp:All><sp:TransportBinding>
    <wsp:Policy>

J'ai fait le code suivant pour appeler le service web fonctions

WebStruct webS = new WebStruct();
webS.Name = "Peter";
webS.ID = 22;

webS.Find(webS);
Comment sont wsHttpBinding et webHttpBinding liés à votre question? Référence Web utilise plus âgés ASMX API et il ne prend pas en charge les services exposés sur ces liaisons. En fait webHttpBinding n'est pas pris en charge par Ajouter une référence de service.

OriginalL'auteur logeeks | 2011-05-18