Questione : Come generate una richiesta manuale del SAPONE ad un servizio di fotoricettore in C#?

Ho generato un'applicazione della sezione comandi del campione che denomina il fotoricettore service del TempConvert per convertire le temperature fra Fahrenheit e Celsius.  Il servizio di fotoricettore prende un valore di temperatura e lo converte e restituisce il value.

When che denomino il servizio di fotoricettore, io ottiene il seguente errore;
“l'assistente a distanza ha restituito un errore: (400) Richiesta difettosa System.Net.HttpWebRequest.
I di/>GetResponse ()„ non sure perché ottengo questo errore.  Dei suggerimenti?  Grazie in un avanzamento per un class= attuale " la sottolineatura " >

I di response.

Please Note
TempConvert di fotoricettore URI webservices/tempconvert.asmx di http://www.w3schools.com/ class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
sistema >using notpretty " del class= " del id= " codeSnippet652348 del
           
class= del

Risposta : Come generate una richiesta manuale del SAPONE ad un servizio di fotoricettore in C#?

Ho convinto questo per funzionare per me per il Celsius a Fahrenheit (errore con opzione 1):

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
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;
        }
    }
}
Altre soluzioni  
 
programming4us programming4us