using le système ;
using System.IO ;
using System.Linq ;
using System.Net ;
using System.Reflection ;
using System.Text ;
using System.Xml.Linq ;
namespace WebServiceCallConsoleApp
{
programme de classe
{
principal vide de charge statique (args de corde [])
{
choix de corde ;
la corde valueToBeConverted ;
convertedValue de corde ;
Console.Title = « conversion de la température » ;
Console.WriteLine (« conversion choisie ») ;
Console.WriteLine (« -----------------") ;
Console.WriteLine (« 1) Fahrenheit à Celsius ») ;
Console.WriteLine (« 2) Celsius à Fahrenheit \ n ») ;
choix = Console.ReadLine () ;
Console.WriteLine ("") ;
Console.WriteLine (« écrire la valeur pour convertir ») ;
Console.WriteLine (« ----------------------") ;
valueToBeConverted = Console.ReadLine () ;
Console.WriteLine ("") ;
convertedValue = ConvertValue (Int32.Parse (choix), valueToBeConverted) ;
Console.WriteLine (« résultat de conversion ») ;
Console.WriteLine (« -----------------") ;
Console.WriteLine (convertedValue) ;
Application de sortie de //
Console.WriteLine ("") ;
Console.WriteLine (« appuyer sur n'importe quelle touche pour sortir ! ") ;
Console.ReadLine () ;
}
corde statique privée ConvertValue (choix, corde d'international valueToBeConverted)
{
valeur de corde ;
corde uriString ;
returnValue de corde ;
soapAction = "" de corde ;
displayText = "" de corde ;
resultName = "" de corde ;
uriString = « http://www.w3schools.com/webservices/tempconvert.asmx » ;
commuter (choix)
{
affaire 1 : Converti Fahrenheit de // à Celsius
soapAction = « http://tempuri.org/FahrenheitToCelsius » ;
displayText = « Celsius » ;
resultName = « FahrenheitToCelsiusResult » ;
coupure ;
affaire 2 : Converti Celsius de // à Fahrenheit
soapAction = « http://tempuri.org/CelsiusToFahrenheit » ;
displayText = « Fahrenheit » ;
resultName = « CelsiusToFahrenheitResult » ;
coupure ;
}
essai
{
HttpWebRequest httpRequest = (HttpWebRequest) WebRequest.Create (nouvel Uri (uriString));
httpRequest.Method = « POTEAU » ;
httpRequest.ContentType = « texte/xml ; charset=utf-8 » ;
httpRequest.Headers.Add (String.Format (« SOAPAction : \ » {0} \ "", soapAction));
Jet de jet = Assembly.GetExecutingAssembly () .GetManifestResourceStream (« ConsoleApplication1.SoapAction.xml ») ;
utilisation (lecteur de StreamReader = nouveau StreamReader (jet))
{
soapActionXml de corde = reader.ReadToEnd (). Remplacer (« corde », valueToBeConverted) ;
amortisseur de byte [] = Encoding.UTF8.GetBytes (soapActionXml) ;
httpRequest.ContentLength = amortisseur. Longueur ;
httpRequest.ReadWriteTimeout = 10 ;
httpRequest.ProtocolVersion = HttpVersion.Version11 ;
requestStream de jet = httpRequest.GetRequestStream () ;
requestStream.Write (amortisseur, 0, amortisseur. Longueur) ;
Réponse de HttpWebResponse = (HttpWebResponse) httpRequest.GetResponse () ;
responseStream de jet = response.GetResponseStream () ;
responseStreamReader de StreamReader = nouveau StreamReader (responseStream) ;
valeur = responseStreamReader.ReadToEnd () ;
Document de XDocument = XDocument.Parse (valeur) ;
ficeler l'elementName = « {http://tempuri.org/} » + resultName ;
returnValue = document. Descendants (elementName) .FirstOrDefault (). Valeur ;
}
}
crochet (exception ex)
{
returnValue = « erreur : » + ex.ToString () ;
}
returnValue de retour ;
}
}
}
|