Как сделать запрос Post SOAP с полями XML в RestSharp? - PullRequest
1 голос
/ 25 января 2020

Поля имеют формат XML.

Какой код мне нужен для того, чтобы сделать SOAP Запрос в RestSharp?

И с HttpClient также?

Например, как написать приведенный ниже код в RestSharp, а также HttpClient?

POST /Folder.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8


<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org">
  <soap:Body>
    <MainFolder xmlns="Url">
      <User>string</User>
      <Pass>string</Pass>     
      <Folder>
        <Field1>string</Field1>
        <Field2>string</Field2>     
      </Folder>
    </MainFolder >
  </soap:Body>
</soap:Envelope>

Например, я написал что-то вроде этого.



RestClient restClient = new RestClient("Url");

RestRequest restRequest = new RestRequest("Url?wsdl", Method.POST);

restRequest.AddHeader("Accept", "text/xml");

restRequest.AddHeader("Content-Type", "text/xml");

restRequest.AddXmlBody("<soap:Envelope xmlns:xsi=\"http://www.w3.org">"
                           + " <soap:Body> "
                              + "<MainFolder xmlns=\"Url">"
                                  + "<Username>string</Username>"
                                  + "<Password>string</Password>"                   
                                  + "<Folder>"
                                     + "<Field1>string</Field1>"
                                     + "<Field2>string</Field2>"
                                  + "</Folder>"
                               + "</MainFolder>"
                            + "</soap:Body>"
                      + "</soap:Envelope>");

IRestResponse restResponse = restClient.Execute(restRequest);

Как напишите это правильно, а также как написать это в HttpClient также?

...