Bonjour,
j'ai un web service en C# qui prend en paramètre une string :
Voici un exemple de données qui sont envoyées au web service :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 [WebMethod] public bool testInsertion(String s) { XmlDocument doc = new XmlDocument(); doc.LoadXml(s); try { string titre = doc.SelectSingleNode ("my:insererContenu/my:titre").InnerText; //...
Comme vous pouvez le voir, la définition du namespace "my" est contenue dans l'élément racine.<my:insererContenu xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2005-08-25T08-37-41">
<my:titre>titre test</my:titre>
...
</my:insererContenu>
Toutefois, le web service plante et quand je débugge avec un espion sur l'expression doc.SelectSingleNode("my:insererContenu/my:titre") il m'indique cette erreur :
Si j'ai bien compris, ça voudrait dire que la méthode LoadXML() ne détecte pas la définition du namespace, et que malheureusement on ne peut pas travailler avec des éléments XML préfixés par "my:" par la suite.{"Le gestionnaire d'espaces de noms ou XsltContext est requis. Cette requête a un préfixe, une variable ou une fonction définie par l'utilisateur."} System.SystemException
Quelqu'un aurait-il une solution pour contourner cela (même en passant par une autre méthode que LoadXML) ?
Je précise que la forme de la requête SOAP ne peut pas changer, impossible d'enlever les préfixes "my:"...
Merci d'avance![]()
Partager