2009-06-12 8 views
0

Un client a un service Web ASP.NET sur un serveur partagé (environnement hébergé). Vous pouvez accéder à l'URL du service Web et afficher la page de documentation (xxxxx/service.asmx? WSDL) et voir toutes les méthodes. En utilisant un outil tel que SoapSonar, vous pouvez exécuter n'importe laquelle des méthodes, mais la réponse est toujours comme si vous envoyiez (xxxxx/service.asmx) - en d'autres termes la page de documentation du service Web.Le service Web ASP.NET renvoie UNIQUEMENT la page de documentation pour tous les appels.

Est-ce un environnement de confiance moyenne? - Je ne sais pas, ils ne savent pas, ne demandent pas

Il n'y a aucune erreur retournée ou enregistrée. Ceci est sur un serveur Win2k3 avec 3.5 Framework installé et II6. Le webservice a été construit avec Visual Studio 2008 et fonctionne localement, mais pas dans cet environnement.

Le client n'a pas accès au serveur, le fournisseur de serveur tiers essaie, mais avec une expérience limitée, d'utiliser les services Web ASP.NET.

Des idées sur ce qui pourrait causer ce type de comportement? Ce qu'il faut chercher?

+0

La première partie du problème est que le service Web se trouve dans un répertoire dont l'authentification par formulaires est activée. Ainsi, la requête au service.asmx entraîne une redirection 302. Cela n'arrive pas lorsque vous êtes sur la machine locale. J'ai essayé mais cela n'a pas arrêté la redirection. Existe-t-il un moyen d'avoir une authentification par formulaire à la racine, mais pas dans le sous-dossier? – Tim

Répondre

0

Transforme le problème est que le web.config client contient l'entrée suivante: cookieless = « AutoDetect » qui provoque une redirection 302 /xxxxx/xxxxxx.asmx?AspxAutoDetectCookieSupport=1 (d'où il apparaît que la documentation la page est toujours retournée).

0

Pouvez-vous vérifier que l'en-tête envoie un POST plutôt que GET?

+0

Je peux vérifier cela. J'ai juste vérifié que sur la machine locale allant au service.asmx et l'exécution du service Web (POST) fonctionne comme prévu, bien que SoapSonar ne soit même pas de la machine locale. – Tim

+0

Oui, il envoie un POST – Tim

Questions connexes