I have been trying to use the HTTPClient object in .Net Framework 4.7 to create a simple SOAP request. I have used the parameters in Postman and it works perfectly fine. Here's my code:
string url = "http://webservices.oorsprong.org/websamples.countryinfo/CountryInfoService.wso";
//SOAP envelope string
string xmlSOAP =
@"<? xml version = ""1.0"" encoding = ""utf-8"" ?>
< soap : Envelope xmlns: soap = ""http://schemas.xmlsoap.org/soap/envelope/"" >
< soap:Body >
< ListOfContinentsByName xmlns = ""http://www.oorsprong.org/websamples.countryinfo"">
</ ListOfContinentsByName >
</ soap:Body >
</ soap:Envelope >";
HttpClient httpClient = new HttpClient();
HttpContent httpContent = new StringContent(xmlSOAP);
HttpResponseMessage response;
HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Post, url);
req.Headers.Add("SOAPAction", "");
req.Method = HttpMethod.Post;
req.Content = httpContent;
req.Content.Headers.ContentType = MediaTypeHeaderValue.Parse("text/xml; charset=utf-8");
// Here you will get the Reponse from service
response = await httpClient.SendAsync(req);
// Converting the response into text format
var responseBodyAsText = await response.Content.ReadAsStringAsync();
Any idea why this works in postman but not using the HTTPClient? I referenced this from the microsoft example here (https://social.msdn.microsoft.com/Forums/windowsapps/en-US/15e0c692-c47c-443c-b96d-5c4f77e7ed66/how-to-sendreceive-soap-request-and-response-using-c-in-windows-phone-8?forum=wpdevelop).