2010-08-11 5 views
2

J'ai une table de client qui se compose de presque des champs 50 ++. Je pensais que si serait-il possible si je passe ces à travers un texte au format XML depuis leur sont beaucoup de paramètresPasser des paramètres dans REST? puis-je seulement passer des chaînes ou xml est autorisé?

exemple ci-dessous:

[OperationContract] [WebInvoke (UriTemplate = « new/customerxml/» method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped, ResponseFormat = WebMessageFormat.Xml)] publique XmlElement NewCustomer (valeur XmlElement)

dois-je passer le XmlElement de cette façon?

+2

Êtes-vous * en train d'interroger * les données (du serveur), ou * d'envoyer * des données (au serveur)? –

+0

Envoi de données au serveur – Ravi

Répondre

1

Oui, vous pouvez envoyer du code XML lors de l'appel d'un service Web REST, mais vous devez utiliser la méthode POST au lieu de GET.

+0

En fait, j'utilise la méthode POST :) – Ravi

+0

Ensuite, vous l'avez déjà obtenu. Construisez simplement la chaîne xml dans le client avec tous les paramètres nécessaires et envoyez-la au point de terminaison du serveur correct. Si vous utilisez une sorte d'entité pour stocker les valeurs dans le serveur et que vous avez besoin d'un exemple de création de la chaîne, vous pouvez créer une méthode dans le serveur sans paramètres d'entrée renvoyant une instance de cette entité. Dans la réponse XML, vous obtiendrez un exemple de ce que vous devez construire dans le client. –

+0

Merci mais j'ai essayé de poster en utilisant XML mais cela ne semble pas possible pour le moment – Ravi

0

Oui, allez-y! Ou utilisez JSON, ou YAML, ou un texte délimité par TAB, ou tout ce qui vous plaît.

+0

Oui JSON pourrait être une bonne idée car il est lisible ... Ill essayer de trouver comment former un objet JSON sur plusieurs paramètres depuis que j'ai pour créer et extraire des données d'un .. Avez-vous un échantillon avec vous pal? – Ravi

+0

Extraire JavascriptSerializerClass et DataContractJsonSerializer [1] http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx [2] http://msdn.microsoft.com /en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx - HTH – Adam

1

La manière dont vous transmettez les données dépend entièrement de vous. Vous êtes libre d'utiliser votre propre format binaire propriétaire si vous le souhaitez. Peu de clients peuvent savoir quoi faire avec cela, mais si vous utilisez votre propre code client ...

Il serait bon de définir un type de contenu et de l'utiliser. Peut-être utiliser l'application ordinaire/xml pour les clients qui ne connaissent pas votre format propriétaire et application/foobar pour votre propre type de contenu spécial 'foobar'.

Questions connexes