using il sistema;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Text;
using System.Xml.Linq;
namespace WebServiceCallConsoleApp
{
programma del codice categoria
{
principale vuoto di elettricità statica (args della stringa [])
{
selezione della stringa;
la stringa valueToBeConverted;
convertedValue della stringa;
Console.Title = “conversione di temperatura„;
Console.WriteLine (“conversione prescelta„);
Console.WriteLine (“-----------------");
Console.WriteLine (“1) Fahrenheit a Celsius„);
Console.WriteLine (“2) Celsius a Fahrenheit \ n„);
selezione = Console.ReadLine ();
Console.WriteLine ("");
Console.WriteLine (“entrare nel valore per convertire„);
Console.WriteLine (“----------------------");
valueToBeConverted = Console.ReadLine ();
Console.WriteLine ("");
convertedValue = ConvertValue (Int32.Parse (selezione), valueToBeConverted);
Console.WriteLine (“risultato di conversione„);
Console.WriteLine (“-----------------");
Console.WriteLine (convertedValue);
Applicazione dell'uscita di //
Console.WriteLine ("");
Console.WriteLine (“premere tutto il tasto per uscire! ");
Console.ReadLine ();
}
stringa statica riservata ConvertValue (selezione, stringa di int valueToBeConverted)
{
valore di stringa;
stringa che uriString;
returnValue della stringa;
soapAction = "" della stringa;
displayText = "" della stringa;
resultName = "" della stringa;
uriString = “http://www.w3schools.com/webservices/tempconvert.asmx„;
commutare (selezione)
{
caso 1: Convertito Fahrenheit di // a Celsius
soapAction = “http://tempuri.org/FahrenheitToCelsius„;
displayText = “Celsius„;
resultName = “FahrenheitToCelsiusResult„;
rottura;
caso 2: Convertito Celsius di // a Fahrenheit
soapAction = “http://tempuri.org/CelsiusToFahrenheit„;
displayText = “Fahrenheit„;
resultName = “CelsiusToFahrenheitResult„;
rottura;
}
prova
{
HttpWebRequest più httpRequest = (HttpWebRequest) WebRequest.Create (nuovo Uri (uriString));
httpRequest.Method = “ALBERINO„;
httpRequest.ContentType = “testo/xml; charset=utf-8„;
httpRequest.Headers.Add (String.Format (“SOAPAction: \„ {0} \ "", soapAction));
Flusso del flusso = Assembly.GetExecutingAssembly () .GetManifestResourceStream (“ConsoleApplication1.SoapAction.xml„);
usando (lettore di StreamReader = nuovo StreamReader (flusso))
{
soapActionXml della stringa = reader.ReadToEnd (). Sostituire (“stringa„, valueToBeConverted);
amplificatore di byte [] = Encoding.UTF8.GetBytes (soapActionXml);
httpRequest.ContentLength = amplificatore. Lunghezza;
httpRequest.ReadWriteTimeout = 10;
httpRequest.ProtocolVersion = HttpVersion.Version11;
requestStream del flusso = httpRequest.GetRequestStream ();
requestStream.Write (amplificatore, 0, amplificatore. Lunghezza);
Risposta di HttpWebResponse = (HttpWebResponse) httpRequest.GetResponse ();
responseStream del flusso = response.GetResponseStream ();
responseStreamReader di StreamReader = nuovo StreamReader (responseStream);
valore = responseStreamReader.ReadToEnd ();
Documento di XDocument = XDocument.Parse (valore);
mettere insieme il elementName = “{http://tempuri.org/}„ + resultName;
returnValue = documento. Discendenti (elementName) .FirstOrDefault (). Valore;
}
}
fermo (eccezione ex)
{
returnValue = “errore: „ + ex.ToString ();
}
returnValue di ritorno;
}
}
}
|