Probleme delais de retour web services

Résolu
Mick84M Messages postés 8 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 29 janvier 2007 - 29 janv. 2007 à 11:44
Mick84M Messages postés 8 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 29 janvier 2007 - 29 janv. 2007 à 16:20
Bonjour,

j ai un probleme de timeout (je pense) avec mon web service.

j'ai mon web services (C#) déposé sur un serveur. il effectue des traitements plus ou moins long suivant les arguments que je lui passe.
mon probleme est que lorsque le traitement est long, mon client appelant (VB6) me rend la main avant la fin du traitement réalisé par le web service ne soit terminé (environ 30 secondes apres l appel), donc ma structure de retour est vide et ca me plante une erreur..."erreur definie par l application ou par l objet".

j ai essayé de modifier mon fichier web.config en augmentant la taille du timeout, mais ca ne change rien...

voici mon code VB6 du programme appelant:

Dim client                   As New SoapClient
Dim objRetour           As IXMLDOMNodeList


szLocalisationWS = "http://IP:Port/MonService/Service.asmx?wsdl
client.mssoapinit szLocalisationWS
Set objRetour = client.ExecMaCommande(arg1, arg2, arg3, arg4)

'sRetour correspond à la structure de retour attendue
sRetour.initialize(objRetour.Item(0).nodeTypedValue, objRetour.Item(1).nodeTypedValue, objRetour.Item(2).nodeTypedValue)

Ma question est donc de savoir comment faire pour que mon programme appelant (VB6) attende la fin du traitement du web service.

Par avance Merci

6 réponses

Mick84M Messages postés 8 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 29 janvier 2007
29 janv. 2007 à 16:20
bon j ai finalement trouvé comment spécifier un TimeOut à mon objet SoapClient


je fais un :


client.ConnectorProperty("Timeout") = 0

merci d avoir pris le temps de m aider jmfmarques !
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 janv. 2007 à 13:14
On ne sait pas ce que tu attends !
Probablement un résultat !
Si tel est bien le cas : entame une gestion de présence et d'erreur....
0
Mick84M Messages postés 8 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 29 janvier 2007
29 janv. 2007 à 14:40
ce que j attend en retour c est une structure contenant 3 valeurs:
un code retour (int)
un message (string)
un message d erreur si y en a (stirng)

recuperer les valeurs de retour n est pas mon probleme.

mon probleme est que mon appli me rend la main avant que le traitement realise par le web service ne soit terminé.

je voudrais pouvoir appeler mon web service, et attendre qu il ai terminé avant de recuperer la main. 
j ai fait un client c# qui attend la fin du traitement réalisé par le web service avant de me rendre la main. je voudrais reussir à faire la meme chose en VB6... 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 janv. 2007 à 14:52
Si tu attends uns structure, une gestion d'erreur devrait suffire avec un doevents tant que tu n'as pas obtenu ta structure ou un message d'erreur v(il me semble).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mick84M Messages postés 8 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 29 janvier 2007
29 janv. 2007 à 15:06
je ne suis pas sure de comprendre comment tu veux faire...

ce que tu me dis serais :

'je lance la commande de mon web service
Set objRetour = client.ExecMaCommande(arg1, arg2, arg3, arg4)

'je devrais faire ?
While (objRetour == Null)
    DoEvents
Wend

je ne suis pas sure de saisir comment faire pour attendre ma struture de retour...pourrais tu me decrire ta pensée please?
0
Mick84M Messages postés 8 Date d'inscription mercredi 1 novembre 2000 Statut Membre Dernière intervention 29 janvier 2007
29 janv. 2007 à 15:56
existe t il une methode pour definir un TimeOut coté client ??
0
Rejoignez-nous