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.