2009-08-08 4 views
1

J'ai besoin de consommer un service web sur XML-RPC. Le webservice est écrit en Python, et l'un des arguments est une liste Python.Le service Web nécessite Python List comme argument. Besoin d'invoquer du C#

J'utilise XML-RPC.NET pour invoquer toutes les méthodes et cela fonctionne bien, sauf pour ceux qui nécessitent un argument de liste Python.

Quelle serait la structure correspondante en C# qui, si je passe en argument, serait interprétée par le service web comme une liste Python? J'ai essayé le code de style Python dans une chaîne. J'ai aussi essayé des tableaux de chaînes.

Tout exemple serait vraiment utile.

Merci, V

Répondre

1

Ce que vous devez obtenir dans le XML sous-jacent est une balise <array>, par exemple

<array> 
    <data> 
     <value><i4>12</i4></value> 
     <value><string>Egypt</string></value> 
     <value><boolean>0</boolean></value> 
     <value><i4>-31</i4></value> 
    </data> 
</array> 

pour la liste Python

[12, 'Egypt', False, -31] 

Comment vous XML-RPC.NET pour émettre une étiquette <array> avec un "tableau" hétérogène, je ne suis pas sûr. Avez-vous un moyen de visualiser le code XML qui est émis pour certaines structures d'entrée/structures de données C# ...?

+1

[12, 'Egypte', Faux, -31] – hughdbrown

+0

@hughdbrown, tx pour le repérage, édité pour corriger ma faute de frappe. –

+0

Merci les gars. J'ai utilisé un tableau d'objets comme suggéré par Christopher, puis j'ai essayé de mapper la liste Python à la structure XML que vous avez suggérée. Ça a marché. J'avais une liste imbriquée compliquée donc cela a pris du temps. En outre, j'ai été en mesure de voir visualiser le XML généré en utilisant le Tracer qui vient avec XML-RPC.NET à: http://xml-rpc.net/faq/xmlrpcnetfaq.html#5.1 Merci à tous! – Varun

Questions connexes