Wywoływanie metody usługi internetowej ASP.NET za pośrednictwem żądania http

Chcę wywołać usługę WWW ASP.NET za pośrednictwem żądania http POST przy użyciu C # (tj. Nie chcę używać obiektu SoapHttpClientProtocol wygenerowanego przez uruchomienie wsdl.exe).

O ile wiem, proces ten obejmuje:

tworzenie obiektu HttpWebRequest, który wskazuje na url / metodę usługi WWW za pomocą metody;

Tworzenie koperty SOAP xml;

Szeregowanie dowolnych parametrów, które chcę przekazać do metody internetowej za pomocą XmlSerializer;

Dokonywanie żądania i analizowanie odpowiedzi.

Chciałbym to zrobić bez konieczności kopiowania i używania wygenerowanego kodu.

(1) wydaje się całkiem prosty;

(2) Nie wiem, czy koperta tutaj jest standardowa, czy też powinna się zmienić w zależności od metody usługi internetowej, którą dzwonię. Myślę, że może być konieczne dodanie niestandardowych nagłówków mydła, jeśli wymaga tego usługa?

(3) Jak wygląda proces? Zakładam, że muszę zrobić coś takiego:

MyClass myObj;
XmlSerializer ser = new XmlSerializer(myObj.GetType());
TextWriter writer = new StringWriter();
ser.Serialize(writer, myObj);
string soapXml = writer.ToString();
writer.Close();

Myślę też, że powinienem dodać soapXml do mydła: Body body

(4) Uważam, że powinienem wyodrębnić i odserializować zawartość mydła: również element ciała. Czy można użyć odwrotności procesu w (3)?

Dzięki,

K.

questionAnswers(1)

yourAnswerToTheQuestion