2009-05-26 11 views
0

J'ai un service web .NET fonctionnant comme un service Windows sur un ordinateur Windows Server2003 R2. J'ai une application .NET/C# 2.0 séparée qui appelle ce webservice d'ailleurs sur notre réseau local. Le webservice a 2 méthodes - 1 de ces appels de méthode fonctionne parfaitement. Toutefois, l'autre méthode renvoie toujours une erreur 404 "non trouvé". Je peux visiter l'URL du webservice et voir les deux méthodes. J'ai fait une "mise à jour de la référence web" sur mon projet et ça s'est bien passé. Le proxy Web généré a vu la méthode très bien. Mais ça ne marche jamais pendant l'exécution, alors que les frères et soeurs fonctionnent très bien..NET Webservice fonctionne à moitié, moitié 404

Il n'y a pas de paramètres Web dans le fichier de configuration du service - juste votre chaîne de connexion standard et une poignée d'appSettings. Qu'est-ce qui pourrait causer 1 méthode à 404, tandis que l'autre fonctionne bien?

EDIT: Le service Web et le code appelant sont .NET 2.0, C#. Ceci est pas WCF, juste old school "référence web". En fait, il est basé sur System.Web.Services.Protocols.SoapHttpClientProtocol et non sur Microsoft.Web.Services3.WebServicesClientProtocol.

J'ai confirmé que l'URL de service Web n'est pas définie dynamiquement.

+0

Pourriez-vous poster un message quelconque? – CSharpAtl

+0

Bien sûr, la référence du service Web pointe vers le service Web approprié? Si la dynamique devrait être dans votre fichier de configuration. – CSharpAtl

+0

Avez-vous changé quelque chose sur la méthode qui ne fonctionne pas, ces derniers temps? – shahkalpesh

Répondre

0

Vous ne dites pas quelle technologie vous utilisez, donc je suppose que c'est WCF. Vous ne dites pas quelle version de .NET vous utilisez du côté du service, donc je suppose que .NET 3.5 SP1.

Je vous recommande de regarder de plus près. En particulier, activez le traçage et voyez ce qu'il en dit. La demande est-elle reçue? À quel moment la réponse est-elle générée? Peut-être que le service est trouvé, mais il y a quelque chose qui ne va pas avec l'action "SOAP", de sorte que cette deuxième opération n'est vraiment pas trouvée. Rappelez-vous que ce que vous voyez dans le proxy Web n'est pas la même chose que le proxy Web demandera réellement. Il devrait être, mais ne peut pas être. Activez le suivi et découvrez-le.

Vous pouvez également envisager de déboguer le service, pour voir si l'opération est jamais atteinte. Peut-être une exception dans l'opération est en cours de traduction dans le 404?

Regardez également dans les journaux des événements pour voir si quelque chose d'intéressant est arrivé à peu près en même temps.

0

Un code nous aiderait vraiment à mieux comprendre votre problème. Puis-je demander si l'application qui appelle le webservice est une application Web ou une application de bureau ou un service Windows? Si c'est une application web, une suggestion serait d'appeler le webservice manuellement et d'exécuter fiddler ou firebug pour voir quelle est la réponse du serveur et les données qui sont passées et retournées. Cela pourrait être un point de départ pour résoudre votre problème.

Questions connexes