Je dois visiter un service Web sécurisé, Chaque demande dans l'en-tête doit porter un jeton. P>
Je connais le point final au service Web, Je sais aussi comment créer le jeton. P>
Mais je ne peux pas voir le WSDL pour le Webservice. P>
Y a-t-il un moyen de créer un client SOAP, sans le fichier WSDL. P>
4 Réponses :
Un client SOAP est simplement un client HTTP avec plus de choses dedans. Voir le Classe HTTPWEBREQUEST . Vous devrez ensuite créer votre propre message de savon, peut-être utiliser la sérialisation XML. P>
Vous pouvez créer votre propre service, l'exposer à avoir un WSDL, puis générer le client à partir de celui-ci ... Type du long chemin. P>
Pouvez-vous demander aux développeurs du service Web de vous envoyer le (s) fichier WSDL et XSD par courrier électronique? Si tel est le cas, vous pouvez jeter les fichiers dans un dossier, puis ajouter une référence de service à l'aide du WSDL sur votre disque dur. P>
J'ai vérifié que ce code, qui utilise le httpwebrequest classe , fonctionne:
// Takes an input of the SOAP service URL (url) and the XML to be sent to the // service (xml). public void PostXml(string url, string xml) { byte[] bytes = Encoding.UTF8.GetBytes(xml); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentLength = bytes.Length; request.ContentType = "text/xml"; using (Stream requestStream = request.GetRequestStream()) { requestStream.Write(bytes, 0, bytes.Length); } using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { if (response.StatusCode != HttpStatusCode.OK) { string message = String.Format("POST failed with HTTP {0}", response.StatusCode); throw new ApplicationException(message); } } }
DUPLICAT POSSIBLE: Stackoverflow.com/Questtions/278037/...