У меня есть служба ASMX, которая имеет метод ниже. Я хочу отладить этот метод, поэтому поставил на него точку останова. Но я не могу отправить ему запрос, выдает ошибку 404.
[WebMethod]
public void RequestNotification()
{
Я пробовал эти варианты до сих пор.
Скриншоты страницы для справки.
Вот как я звоню из кода C#, и это также не достигает точки останова в методе RequestNotification службы. и он не дает никаких исключений также в коде С#.
MyService myService= new MyService ();
myService.RequestNotification();
Обновление: я пробовал, как описано в ответе ниже, я все еще получаю 404.
Пожалуйста, найдите ниже скриншот запроса.





Использование вызова POST от Postman с телом XML
Демонстрационный код.
Я покажу этот Калькулятор SOAP-сервиса для Add работы.
URL-адрес публикации
http://www.dneonline.com/calculator.asmx
В теле с выбором XML лучей
<?xml version = "1.0" encoding = "utf-8"?>
<soap:Envelope xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Add xmlns = "http://tempuri.org/">
<intA>100</intA>
<intB>200</intB>
</Add>
</soap:Body>
</soap:Envelope>
Я получил ответ от службы
<?xml version = "1.0" encoding = "utf-8"?>
<soap:Envelope xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AddResponse xmlns = "http://tempuri.org/">
<AddResult>300</AddResult>
</AddResponse>
</soap:Body>
</soap:Envelope>
Если вы нажмете кнопку code в Postman, вы также можете получить команду curl.
curl --location --request POST 'http://www.dneonline.com/calculator.asmx' \
--header 'Content-Type: text/xml; charset=utf-8' \
--header 'SOAPAction: http://tempuri.org/Add' \
--data-raw '<?xml version = "1.0" encoding = "utf-8"?>
<soap:Envelope xmlns:soap = "http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Add xmlns = "http://tempuri.org/">
<intA>100</intA>
<intB>200</intB>
</Add>
</soap:Body>
</soap:Envelope>
'
Я не уверен, но вы делаете неправильные два элемента, первый URL-адрес POST, его HTML-ответ означает неправильный URL-адрес. Вам нужно найти соответствующий URL-адрес из кода C#. Во-вторых, SOAPAction не является вашей операцией SOAP. Это работа калькулятора. это должна быть ваша операция уведомления. Но у меня нет опыта реализации SOAP на С#.
Я не думаю, что проблема не связана с С#, я пытаюсь получить URL-адрес от почтальона, как вы.
Вы правы, я могу решить проблему, изменив URL-адрес и SOAPAction. Я разместил запрос и ответ в ответе
Я рад услышать решение вашей проблемы!
Еще один голос за вас :)
Я снова счастлив, что ты набрал больше 2 тысяч очков за сегодня.
Отлично, приятного путешествия
Ответ @Bench Vue помог мне решить проблему. Я могу решить проблему с помощью приведенного ниже запроса.
Запрос и ответ:
Спасибо, Bench, я попробовал, как вы описали, но все равно получаю ту же ошибку. Я обновил свой вопрос запросом почтальона, что я упускаю или делаю неправильно?