2009-03-24 5 views
2

Je voudrais ajouter un préfixe d'espace de noms au nœud racine XML et j'ai trouvé une entrée par Scott Hanselman qui détaille exactement ce que je voudrais réaliser. Le seul problème étant la mise en œuvre est manquant!Ajouter un préfixe au nœud racine XML - Mise en œuvre de la suggestion de Scott Hanselman?

Modifying the namespace PREFIX of the root node of the body of a SOAP Web Services Response....whew!

Ce serait d'une grande aide si je pouvais obtenir quelques pistes sur la façon d'aller à ce sujet.

  1. Y a-t-il une implémentation qui existe déjà quelque part?

  2. La contribution de Scott a été publiée en 2003. Les choses ont-elles changé depuis? Avec .NET 3.5 autour, les extensions de savon sont-elles toujours la bonne approche?

EDIT: réponse du service Web actuel est quelque chose comme ...

<response> 
    <my-ns:name/> 
</response> 

réponse souhaitée devrait ressembler ...

<my-ns:response> 
    <my-ns:name/> 
</my-ns:response> 
+0

Veuillez dire ce que vous essayez d'accomplir. Pourquoi le préfixe importe-t-il? Aussi, je ne pense pas que SoapExtensions était nécessaire pour commencer - voir http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlnamespacedeclarationsattribute.aspx. –

+0

@John, Le préfixe n'a pas et ne devrait pas importer, mais c'est une exigence "client" que l'on doit rencontrer. Si vous lisez l'entrée de Scott, c'est précisément ce qu'il mentionne. – Preets

+1

Scott dit:> Si vous voulez le code, et d'aller à > enfer, écrivez-moi [ici] (http://2idi.com/contact/=scott.hanselman), c'est probablement le meilleur itinéraire si non- on a des idées. –

Répondre

1

On dirait que le problème avec l'espace de noms manquant préfixe pour le nœud racine n'existe que sur .NET Framework 1.1!

J'ai migré le code vers .NET 3.5 et le préfixe "my-ns:" a été ajouté au noeud racine sans que je doive modifier de code! Donc, je n'aurais pas à écrire une extension de savon après tout!

+0

Avez-vous essayé de l'essayer dans .NET 2.0? – Cerebrus

+0

Non pas 2.0, j'ai essayé 3.5! Mais je suppose que ça devrait, vu que vous aussi avez le préfixe dans le nœud racine. – Preets

+0

Il existe des attributs de code pour spécifier l'espace de nom de l'élément de réponse. – Cheeso

Questions connexes