C# Web Service et Action mustUnderstand

C# Web Service et Action mustUnderstand - C#/.NET managed - Programmation

Marsh Posté le 17-02-2015 à 15:46:17    

Bonjour à tous,
 
J'ai créé un Web Service en C# dont l'appel fonctionne bien dans Visual Studio 2013, mais l'appel depuis un autre programme me donne l'erreur

Citation :

"L'en-tête SOAP Action n'a pas été reconnu"


 
En regardant l'enveloppe xml généré, j'ai ceci :

Citation :


<s:Envelope xmlns:a="http://www.w3.org/2005/08/addressing" xmlns:s="http://www.w3.org/2003/05/soap-envelope">
  <s:Header>
    <a:Action s:mustUnderstand="1" />
    <a:MessageID>urn:uuid:xxxxxxxxxxxxx</a:MessageID>
    <a:ReplyTo>
      <a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
    </a:ReplyTo>
  </s:Header>
  <s:Body>
    <CallMonWebService>
      <p1 d4p1:nil="true" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance" />
      <p2 d4p1:nil="true" xmlns:d4p1="http://www.w3.org/2001/XMLSchema-instance" />
    </CallMonWebService>
  </s:Body>
</s:Envelope>


 
Je comprends donc que la ligne en rouge pose problème. Est il possible de la supprimer lors de la génération du Web Service, ou à défaut passer la valeur de mustUnderstand à 0 ?
 
J'ai trouvé différents trucs ces deux derniers jours sur Google tels que

MessageVersion.CreateVersion(EnvelopeVersion.Soap11, AddressingVersion.None);

mais aucun ne fonctionne  :cry:  
 
 
Merci d'avance pour votre aide.


---------------
Homme, tu n'es que poussière. Thon, tu n'es que miettes.
Reply

Marsh Posté le 17-02-2015 à 15:46:17   

Reply

Marsh Posté le 23-02-2015 à 16:44:00    

C'est quoi l'intérêt de contourner le truc en cartonnant le MustUnderstand et en quoi ça résoudrait le problème :??:
A mon avis tu suis une mauvaise approche.
 
Il est en quoi le programme qui déclenche l'appel ?  
Pourquoi tel quel ça ne fonctionne pas si tu as importé le wsdl proprement ?
Si c'est du .net et que tu utilises une web référence .Net 2.0 et que tu peux mettre une référence de service wcf (3.5) à la place esssaye, ça peut aussi aider.


---------------
Réalisation amplis classe D / T      Topic .Net - C# @ Prog
Reply

Marsh Posté le 25-02-2015 à 19:31:25    

En fait j'ai été induit en erreur par le fait que mon Web Service est en UTF8 alors que celui qui est appelé à l'intérieur est en ISO-8859-1. D'où ma recherche pour contourner le problème.
 
Les rares pages sur Google me donnaient la piste du MustUnderstand, à tort.
 
Au final il y avait un soucis de balise dans la structure de retour ainsi qu'un certificat foireux sur notre serveur. Merci quand même pour ta réponse.


---------------
Homme, tu n'es que poussière. Thon, tu n'es que miettes.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed