Добрый день.
Я надеюсь, что кто-то может мне помочь. Я создаю веб-сервис (это первый раз, когда я создал веб-сервис). В прошлом я работал с веб-сервисами / API со стороны клиента, создавая soap xml сообщений и отправлял и получал сообщения туда и обратно. Теперь мне нужно создать свой собственный веб-сервис, и мне нужна небольшая помощь в его правильном создании.
Сначала я создал простой веб-метод следующим образом.
[WebMethod(Description = "Soap Request")]
public string Request(string xmlDocument)
{
//do work
}
, но когда я попытался потреблять Этот метод я получил следующую ошибку:
System.Web.HttpRequestValidationException: потенциально опасное значение Request.Form было обнаружено от клиента
я затем попытался (после поиска в Google ), чтобы изменить метод следующим образом:
[WebMethod(Description = "Soap Request")]
public string Request(XmlDocument xmlDocument)
{
//do work
}
но, похоже, это тоже не сработало, когда я попытался отправить сообщение xml soap этому методу, оно прошло через пустое поле. Затем я создал метод с параметрами, соответствующими элементам в моем сообщении xml Soap. Затем метод поднял каждый элемент и правильно заполнил параметры следующим образом.
public void Request(string parm1, string parm2)
{
//do work
}
со следующими xml
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/">
<soapenv:Header/>
<soapenv:Body>
<tem:Request>
<tem:Parm1>111</tem:Parm1>
<tem:Parm2>222</tem:Parm2>
</tem:Request>
</soapenv:Body>
</soapenv:Envelope>
Я хотел бы выяснить, является ли это правильным способ обработки входящего сообщения или что-то еще, что я должен сделать, чтобы принять входящее сообщение xml? я подумал, что мог бы создать метод, как я первоначально сделал, что он будет принимать строку xml, переданную ему, и я мог работать с сообщением, как я делал это при получении сообщения xml от веб-сервисов, которые я использовал в прошлом .
пожалуйста, прости меня, если я продублировал вопрос, я не смог найти ничего, что дало бы мне определенный ответ.
Я начал создавать веб-сервис в Visual Studio 2019.
любая помощь или совет будет принята с благодарностью.