Ce n'est pas une question - affichez-le ici pour référence:
Lors de la consommation d'un WebService, j'ai eu l'erreur suivante:
Le format de la demande n'est pas reconnu pour l'URL se terminant de façon inattendue par / myMethodName
asp.net
web-services
romain m
la source
la source
Réponses:
Trouvé une solution sur ce site
Tout ce dont vous avez besoin est d'ajouter ce qui suit à votre web.config
Plus d'informations de Microsoft
la source
Malgré 90% de toutes les informations que j'ai trouvées (en essayant de trouver une solution à cette erreur) me disant d'ajouter le
HttpGet
etHttpPost
à la configuration, cela n'a pas fonctionné pour moi ... et n'a pas de sens pour moi de toute façon.Mon application fonctionne sur de nombreux serveurs (30+) et je n'ai jamais eu à ajouter cette configuration pour aucun d'entre eux. Soit la version de l'application exécutée sous .NET 2.0 ou .NET 4.0.
La solution pour moi était de réenregistrer ASP.NET contre IIS.
J'ai utilisé la ligne de commande suivante pour y parvenir ...
la source
aspnet_regiis -i
cependant corrigé.Assurez-vous que vous utilisez la bonne méthode: Post / Get, bon type de contenu et bons paramètres (données).
la source
content-type: application/json
résolu ce problème pour moi aussi.Superbe.
Cas 2 - où le même problème peut survenir) dans mon cas, le problème était dû à la ligne suivante:
Il fonctionne bien sur le serveur car les appels sont directement passés à la fonction de service Web - mais échouera si vous exécutez le service directement à partir de .Net dans l'environnement de débogage et que vous souhaitez tester l'exécution manuelle de la fonction.
la source
Pour mémoire, j'obtenais cette erreur lorsque j'ai déplacé une ancienne application d'un serveur à un autre. J'ai ajouté les
<add name="HttpGet"/> <add name="HttpPost"/>
éléments au web.config, ce qui a changé l'erreur en:Afin de corriger cette erreur, j'ai dû ajouter les lignes ScriptHandlerFactory à web.config:
Pourquoi cela a fonctionné sans ces lignes sur un serveur Web et pas sur l'autre, je ne sais pas.
la source
J'utilise la ligne de code suivante pour résoudre ce problème. Écrivez le code suivant dans le fichier web.config
la source
Je n'ai pas eu le problème lors du développement dans localhost. Cependant, une fois que j'ai publié sur un serveur Web, le service Web renvoyait un résultat vide (vide) et je voyais l'erreur dans mes journaux.
Je l'ai corrigé en définissant mon ajax contentType sur:
et en utilisant:
sur l'objet que je publiais.
la source
J'ai également eu cette erreur avec apache mod-mono. Il semble que la page de documentation du webservice ne soit pas encore implémentée sous Linux. Mais le webservice fonctionne malgré cette erreur. Vous devriez le voir en ajoutant
?WSDL
à la fin de l'URL, à savoir http: //localhost/WebService1.asmx? WSDLla source
Dans mon cas, l'erreur s'est produite lorsque je passe de mon PC local Windows 10 à un serveur dédié avec Windows 2012. La solution était d'ajouter au web.config les lignes suivantes
la source
En html, vous devez mettre l'appel sous une forme avec un GET avec quelque chose comme
Vous pouvez également utiliser un
POST
avec l'action étant l'emplacement du service Web et entrer le paramètre via une balise d'entrée.Il existe également
SOAP
des classes proxy.la source
Dans mon cas, j'ai eu une surcharge de fonction à l'origine de cette exception, une fois que j'ai changé le nom de ma deuxième fonction, cela s'est bien passé, je suppose que le serveur Web ne prend pas en charge la surcharge de fonctions
la source
Dans notre cas, le problème est dû au fait que le service Web a été appelé à l'aide de la méthode de demande OPTIONS (au lieu de GET ou POST).
Nous ne savons toujours pas pourquoi le problème est soudainement apparu. Le service Web fonctionnait parfaitement depuis 5 ans sur HTTP et HTTPS. Nous sommes les seuls à consommer le service Web et il utilise toujours POST.
Récemment, nous avons décidé de faire du site qui héberge uniquement le service Web SSL. Nous avons ajouté des règles de réécriture au Web.config pour convertir quoi que ce soit HTTP en HTTPS, déployé et immédiatement commencé à obtenir, en plus des requêtes GET et POST régulières, des requêtes OPTIONS. Les requêtes OPTIONS ont provoqué l'erreur discutée sur ce post.
Le reste de l'application a parfaitement fonctionné. Mais nous avons continué à recevoir des centaines de rapports d'erreur en raison de ce problème.
Il existe plusieurs articles (par exemple celui-ci ) expliquant comment gérer la méthode OPTIONS. Nous sommes allés traiter la demande OPTIONS directement dans le Global.asax. Cela a fait disparaître le problème.
la source
J'obtenais cette erreur jusqu'à ce que j'ajoute (comme indiqué dans le code ci-dessous) $ .holdReady (true) au début de mon appel de service Web et $ .holdReady (false) après sa fin. C'est une chose jQuery pour suspendre l'état prêt de la page afin que tout script dans la fonction document.ready attende cela (entre autres choses possibles mais inconnues de moi).
la source
Assurez-vous de désactiver les erreurs personnalisées. Cela peut masquer le problème d'origine dans votre code:
changement
à
la source
une WebMethod qui nécessite une ContextKey,
lorsque cette clé n'est pas définie, a obtenu l'exception.
Le corriger en attribuant la clé d'AutoCompleteExtender.
la source