El formato de solicitud no se reconoce para la URL que termina inesperadamente en
Al consumir un WebService me salió el siguiente error:
El formato de solicitud no se reconoce para la URL que termina inesperadamente en /myMethodName
¿Cómo se puede solucionar esto?
Encontré una solución en este sitio web.
Todo lo que necesitas es agregar lo siguiente a tu web.config
<configuration>
<system.web>
<webServices>
<protocols>
<add name="HttpGet"/>
<add name="HttpPost"/>
</protocols>
</webServices>
</system.web>
</configuration>
Más información de Microsoft
A pesar de que el 90% de toda la información que encontré (mientras intentaba encontrar una solución a este error) me decía que agregara HttpGet
y HttpPost
a la configuración, eso no funcionó para mí... y no tenía sentido para mí de todos modos.
Mi aplicación se ejecuta en muchos servidores (más de 30) y nunca tuve que agregar esta configuración para ninguno de ellos. Ya sea la versión de la aplicación que se ejecuta en .NET 2.0 o .NET 4.0.
La solución para mí fue volver a registrar ASP.NET en IIS.
Utilicé la siguiente línea de comando para lograr esto...
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -i
Asegúrese de utilizar el método correcto: Publicar/Obtener, tipo de contenido correcto y parámetros (datos) correctos.
$.ajax({
type: "POST",
url: "/ajax.asmx/GetNews",
data: "{Lang:'tr'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) { generateNews(msg); }
})