2009-11-16 7 views
0

J'ai une application Web qui extrait des informations d'un service Web. Cela fonctionne très bien dans notre environnement de développement.Échec de la connexion au service Web

Maintenant j'essaye de le faire fonctionner dans l'environnement d'un client à la place, où le service Web est d'un tiers. Le problème est que la première fois que l'application essaie d'extraire des informations, elle ne peut pas se connecter au service Web. Quand il essaie à nouveau quelques secondes plus tard, cela fonctionne très bien. Si j'attends quelques heures et réessaye, le problème se reproduit. J'ai du mal à croire qu'il s'agit d'une erreur de programmation, comme le pense notre client et le fabricant du service Web. Je pense que cela a à voir avec l'un des IIS ou une certaine sécurité dans le réseau. Mais je n'ai pas grand chose à faire et je ne peux pas reproduire l'erreur dans notre environnement de développement.

Répondre

0

L'erreur était le service Web de la tierce partie. Le talon de test que nous avons développé a été créé en C# et n'a renvoyé que des réponses factices. Le service Web dans l'environnement client est réellement connecté à un objet COM. La première communication avec l'objet COM après une attente plus longue a pris presque une minute.

Bon pour moi que les développeurs tiers ont laissé le code source sur les serveurs clients ...

0

Echoue-t-il avec timeOutException lorsque vous essayez de vous connecter pour la première fois? Si oui, cela pourrait être le résultat au moment du démarrage du service

0

J'ai une règle: "Assumez toujours votre faute jusqu'à ce que vous puissiez démontrer le contraire". Après plus de 20 ans, je m'en tiens toujours à ça.

Donc, il y a donc deux cas:

  1. Le code est cassé
  2. Il existe un problème spécifique avec l'environnement direct

Puisque vous voulez démontrer que le problème est (2) vous devez tester les appels au service, à partir de l'environnement en direct, en utilisant autre chose que votre application. Exactement ce qui dépendra de la nature du service Web, mais nous avons trouvé SoapUI pour être utile. L'autre chose qui n'est pas claire est de savoir si vous faites des appels au service en direct depuis votre environnement de développement - si, en test, vous ne communiquez pas avec la même instance du service, alors c'est une variable supplémentaire qui aura besoin à considérer (et j'apprécie que l'on ne vous donne pas toujours l'option). Enfin, @Krishna a raison - il y a peut-être un problème avec le service distant (d'où ma question de savoir si vous parlez au même service depuis votre environnement de développement) et «horrible» - la solution dans le premier cas peut être simplement de trouver un moyen de permettre cela!

Questions connexes