1: private static string PostSoap(string url, string soapEnv)
2: { 3: try
4: { 5: string result;
6: byte[] postData = Encoding.UTF8.GetBytes(soapEnv);
7: HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
8: if (null == request)
9: throw new WebException("Failed to create WebRequest object"); 10: request.Method = "POST";
11: request.ContentType = "application/soap+xml; charset=utf-8";
12: request.ContentLength = postData.Length;
13: request.UserAgent = "DynamicFormWebPart";
14: using (Stream stream = request.GetRequestStream())
15: { 16: stream.Write(postData, 0, postData.Length);
17: stream.Flush();
18: stream.Close();
19: }
20: HttpWebResponse response = (HttpWebResponse)request.GetResponse();
21: if (null == response)
22: throw new WebException("Failed to get a WebResponse object"); 23: using (StreamReader reader = new StreamReader(response.GetResponseStream()))
24: result = reader.ReadToEnd();
25: return result;
26: }
27: catch (WebException ex)
28: { 29: HttpWebResponse response = ex.Response as HttpWebResponse;
30: if (null == response)
31: throw new ArgumentNullException("Response was null"); 32: using (StreamReader reader = new StreamReader(response.GetResponseStream()))
33: { 34: string error = reader.ReadToEnd();
35: throw new PSWebPartException(error, ex);
36: }
37: }
38: }