HTTP POST à l'aide de web service
J'ai fait quelques recherches sur Google et en obtenant seulement partielle de succès sur ce sujet. Je me demandais si quelqu'un pourrait proposer un exemple de faire un HTTP POST à l'aide de C# pour envoyer du XML pour le service HTTP.
J'ai un service web asmx qui extrait des données à partir de la base de données et j'ai enregistrer les données de document XML. Maintenant, je dois envoyer ce document XML à l'aide de SAVON protocole de service HTTP.
J'ai cette partie de code pour connectig de service
WebRequest myReq = WebRequest.Create("https://WEB_URL");
System.Net.ServicePointManager.CertificatePolicy = new CertificatePolicyClass();
string username = "SOMETHING";
string password = "ELSE";
string usernamePassword = username + ":" + password;
CredentialCache mycache = new CredentialCache();
mycache.Add(new Uri("https://WEB_URL"), "Basic", new NetworkCredential(username, password));
myReq.Credentials = mycache;
myReq.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes(usernamePassword)));
WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();
StreamReader reader = new StreamReader(receiveStream, Encoding.UTF8);
string content = reader.ReadToEnd();
Si quelqu'un at-il un code pour envoyer le document XML pour le service http, cette partie je ne sais pas comment écrire, je ne sais pas je suis sur l'écriture, à la trace, je pense qu'il doit aller somethig comme ce
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
Donc s'il vous plait quelqu'un peut-il m'aider! MERCI!
d'autres choses sont impliqués, le asmx actuelle de la société est la norme..
à l'aide de
XmlSerializer
ou XDocument
, vous pouvez écrire votre chaîne xml(SOAP) pour myReq.GetRequestStream()
.OK... c'était la réponse attendue, mais il vaut mieux demander de toute façon. Je ne suis certainement pas le gars qu'il te faut, mais je pense que je me rappelle que l'utilisation de ce il y a très longtemps, et Visual Studio génération automatique d'un client pour le service (une référence, il a été appeler si je me souviens bien), puis j'ai juste eu à composer le code. N'est-il plus de travailler comme cela?
J'ai déjà fait la sérialisation, et sur la fin j'ai sérialisé document XML, mais je ne sais pas comment faire HTTP POST à un autre service, la présente partie du code, je ne sais pas houe à écrire...
OriginalL'auteur CrBruno | 2012-07-12
Vous devez vous connecter pour publier un commentaire.
Ici est quelque chose que je reçois, j'espère que c'est utile pour vous:
byte[] PostData = Encodage.UTF8.GetBytes(xmlDocument);
"xmlDocument" est le bon endroit.
J'ai ce code: xmlObject = SerializeAnObject(Agr3PL); et puis ce xmlDoc.LoadXml(xmlObject); quand j'écris byte[] PostData = Encodage.UTF8.GetBytes(xmlDoc), il me donne une erreur, mais avec ce byte[] PostData = Encodage.UTF8.GetBytes(xmlObject); il OK?? xmlDoc est un document xml et xmlObject est sérialisé résultat, je ne sais pas si c'est ok pour cette voie?
Ici xmlDocument est une chaîne de caractères. c'est le contenu du fichier xml.
OriginalL'auteur Alley
OriginalL'auteur Matvi