Это не вопрос - разместив его здесь для справки:
При использовании WebService я получил следующую ошибку:
Формат запроса не распознается для URL, неожиданно заканчивающегося в / myMethodName
asp.net
web-services
Роман М
источник
источник
Ответы:
Нашел решение на этом сайте
Все, что вам нужно, это добавить следующее в ваш web.config
Больше информации от Microsoft
источник
Несмотря на то, что 90% всей информации, которую я нашел (пытаясь найти решение этой ошибки), говорили мне добавить
HttpGet
иHttpPost
конфигурацию к ней, это не сработало для меня ... и все равно не имело смысла для меня.Мое приложение работает на многих серверах (более 30), и мне никогда не приходилось добавлять эту конфигурацию для любого из них. Либо версия приложения, работающего под .NET 2.0, либо .NET 4.0.
Решением для меня было перерегистрировать ASP.NET в IIS.
Я использовал следующую командную строку, чтобы добиться этого ...
источник
aspnet_regiis -i
исправил это все же.Убедитесь, что вы используете правильный метод: Post / Get, правильный тип контента и правильные параметры (данные).
источник
content-type: application/json
решил эту проблему и для меня тоже.Superb.
Случай 2 - где может возникнуть та же проблема) в моем случае проблема была связана со следующей строкой:
Он хорошо работает на сервере, поскольку вызовы выполняются непосредственно в функции веб-службы - однако произойдет сбой, если вы запустите службу напрямую из .Net в среде отладки и захотите протестировать запуск функции вручную.
источник
Для записи я получил эту ошибку, когда я переместил старое приложение с одного сервера на другой. Я добавил
<add name="HttpGet"/> <add name="HttpPost"/>
элементы в web.config, который изменил ошибку на:Чтобы исправить эту ошибку, мне нужно было добавить строки ScriptHandlerFactory в web.config:
Почему это работает без этих строк на одном веб-сервере, а не на другом, я не знаю.
источник
Я использую следующую строку кода, чтобы исправить эту проблему. Запишите следующий код в файл web.config
источник
У меня не было проблемы при разработке в localhost. Однако после публикации на веб-сервере веб-служба возвращала пустой (пустой) результат, и я увидела ошибку в своих журналах.
Я исправил это, установив свой ajax contentType в:
и используя:
на объекте я публиковал.
источник
Я также получил эту ошибку с Apache Mod-Mono. Похоже, что страница документации для веб-сервиса еще не реализована в Linux. Но веб-сервис работает, несмотря на эту ошибку. Вы должны увидеть это, добавив
?WSDL
в конце URL, то есть http: //localhost/WebService1.asmx? WSDLисточник
В моем случае ошибка произошла, когда я перешел с локального ПК с Windows 10 на выделенный сервер с Windows 2012. Решением было добавить в файл web.config следующие строки
источник
В HTML вы должны заключить вызов в форме с GET с чем-то вроде
Вы также можете использовать
POST
с действием, определяющим местоположение веб-службы, и вводить параметр через тег ввода.Есть также
SOAP
и прокси-классы.источник
В моем случае у меня была перегрузка функции, которая вызывала это исключение, как только я изменил имя моей второй функции, она работала нормально, думаю, веб-сервер не поддерживает перегрузку функции
источник
В нашем случае проблема была вызвана вызовом веб-службы с использованием метода запроса OPTIONS (вместо GET или POST).
Мы до сих пор не знаем, почему проблема возникла внезапно. Веб-сервис в течение 5 лет прекрасно работал как по HTTP, так и по HTTPS. Мы единственные, кто использует веб-сервис, и он всегда использует POST.
Недавно мы решили сделать сайт, на котором размещен только веб-сервис SSL. Мы добавили правила перезаписи в Web.config, чтобы преобразовать любой HTTP в HTTPS, развернули и сразу же начали получать, помимо обычных запросов GET и POST, запросы OPTIONS. Запросы OPTIONS вызвали ошибку, обсуждаемую в этом посте.
Остальная часть приложения работала на отлично. Но мы продолжали получать сотни сообщений об ошибках из-за этой проблемы.
Есть несколько постов (например, этот ), обсуждающих, как обрабатывать метод OPTIONS. Мы пошли для обработки запроса OPTIONS непосредственно в Global.asax. Это сделало проблему исчезнуть.
источник
Я получал эту ошибку, пока не добавил (как показано в приведенном ниже коде) $ .holdReady (true) в начале вызова веб-службы и $ .holdReady (false) после его завершения. Это jQuery, чтобы приостановить состояние готовности страницы, чтобы любой скрипт внутри функции document.ready ожидал этого (среди других возможных, но неизвестных мне вещей).
источник
Убедитесь, что вы отключили пользовательские ошибки. Это может замаскировать исходную проблему в вашем коде:
изменение
в
источник
WebMethod, который требует ContextKey,
когда этот ключ не установлен, получено исключение.
Исправить это, назначив ключ AutoCompleteExtender.
источник