REST API. Как принимать text/xml в запросе?
Как можно принимать text/xml в методе
[HttpPost]
[Route("SearchClient")]
[Consumes(MediaTypeNames.Text.Xml)]
[Produces(MediaTypeNames.Text.Xml)]
public string Get([FromBody]string request)
{
// Мой код
//............
return "Ok";
}
Класс StartUp выглядит следующим образом
services.AddCors(options =>
{
options.AddPolicy("AllowAll",
builder =>
{
builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader();
});
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddMvc().AddXmlSerializerFormatters().AddXmlDataContractSerializerFormatters();
services.AddSwaggerGen();
services.AddHttpContextAccessor();
services.Configure<SoapProxyConfigs>(Configuration);
services.AddConsul(Configuration);
Пример запроса что я должен принимать
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns:typ="http://bip.bee.kz/SyncChannel/v10/Types"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>
<soap:Body>
<typ:SendMessage>
<request>
<requestInfo>
<messageId>12144424</messageId>
<messageDate>2019-11-11T23:56:38.369+06:00</messageDate>
</requestInfo>
<requestData>
<data xsi:type="ns:DocumentRequest"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns="http://digilocker.gov.kz/">
<FullName>Name Surname</FullName>
<BirthDate>01.01.2001</BirthDate>
<ID>4444646</ID>
</data>
</requestData>
</request>
</typ:SendMessage>
</soap:Body>
</soap:Envelope>