using o sistema;
using System.IO;
using System.Linq;
using System.Net;
using System.Reflection;
using System.Text;
using System.Xml.Linq;
namespace WebServiceCallConsoleApp
{
programa da classe
{
principal vago da estática (args da corda [])
{
seleção da corda;
a corda valueToBeConverted;
convertedValue da corda;
Console.Title = da “conversão temperatura”;
Console.WriteLine (“conversão seleta”);
Console.WriteLine (“-----------------");
Console.WriteLine (“1) Fahrenheit a Celsius”);
Console.WriteLine (“2) Celsius a Fahrenheit \ n”);
seleção = Console.ReadLine ();
Console.WriteLine ("");
Console.WriteLine (“incorporar o valor para converter”);
Console.WriteLine (“----------------------");
valueToBeConverted = Console.ReadLine ();
Console.WriteLine ("");
convertedValue = ConvertValue (Int32.Parse (seleção), valueToBeConverted);
Console.WriteLine (da “resultado conversão”);
Console.WriteLine (“-----------------");
Console.WriteLine (convertedValue);
Aplicação da saída de //
Console.WriteLine ("");
Console.WriteLine (“pressionar toda a chave para retirar! ");
Console.ReadLine ();
}
corda de estática confidencial ConvertValue (seleção, corda do int valueToBeConverted)
{
valor de corda;
corda que uriString;
returnValue da corda;
soapAction = "" da corda;
displayText = "" da corda;
resultName = "" da corda;
uriString = “http://www.w3schools.com/webservices/tempconvert.asmx”;
comutar (seleção)
{
caso 1: Converso Fahrenheit de // a Celsius
soapAction = “http://tempuri.org/FahrenheitToCelsius”;
displayText = “Celsius”;
resultName = “FahrenheitToCelsiusResult”;
ruptura;
caso 2: Converso Celsius de // a Fahrenheit
soapAction = “http://tempuri.org/CelsiusToFahrenheit”;
displayText = “Fahrenheit”;
resultName = “CelsiusToFahrenheitResult”;
ruptura;
}
tentativa
{
HttpWebRequest o mais httpRequest = (HttpWebRequest) WebRequest.Create (Uri novo (uriString));
httpRequest.Method = “BORNE”;
httpRequest.ContentType = “texto/xml; charset=utf-8”;
httpRequest.Headers.Add (String.Format (“SOAPAction: \” {0} \ "", soapAction));
Córrego do córrego = Assembly.GetExecutingAssembly () .GetManifestResourceStream (“ConsoleApplication1.SoapAction.xml”);
utilização (leitor de StreamReader = StreamReader novo (córrego))
{
soapActionXml da corda = reader.ReadToEnd (). Substituir (“corda”, valueToBeConverted);
amortecedor do byte [] = Encoding.UTF8.GetBytes (soapActionXml);
httpRequest.ContentLength = amortecedor. Comprimento;
httpRequest.ReadWriteTimeout = 10;
httpRequest.ProtocolVersion = HttpVersion.Version11;
requestStream do córrego = httpRequest.GetRequestStream ();
requestStream.Write (amortecedor, 0, amortecedor. Comprimento);
Resposta de HttpWebResponse = (HttpWebResponse) httpRequest.GetResponse ();
responseStream do córrego = response.GetResponseStream ();
responseStreamReader de StreamReader = StreamReader novo (responseStream);
valor = responseStreamReader.ReadToEnd ();
Original de XDocument = XDocument.Parse (valor);
amarrar o elementName = “{http://tempuri.org/}” + resultName;
returnValue = original. Descendentes (elementName) .FirstOrDefault (). Valor;
}
}
prendedor (exceção ex)
{
returnValue = “erro: ” + ex.ToString ();
}
returnValue do retorno;
}
}
}
|