2011-06-22 7 views
0

Tentative de création d'un message http sur un service Web à partir d'un script de base (langage de script VBScript/VBA - SummitSoftware) et mise en œuvre d'un délai d'expiration.XmlHttpRequest Timeout - Propriété ou méthode non trouvée

Apparemment, l'objet XmlHttpRequest possède une propriété timeout (http://msdn.microsoft.com/en-us/library/ms535874%28v=vs.85%29.aspx), mais tenter de l'utiliser me renvoie un Erreur "propriété ou méthode introuvable".

Par exemple:

Dim obj As Object 
Set obj = CreateObject("MSXML2.XMLHTTP.3.0") 
obj.timeout = 123 

Cela vaut également pour Microsoft.XMLHTTP et toutes les autres versions de la variante MSXML2.

Ma seule pensée jusqu'à présent est de lancer un autre processus qui exécute un vbscript pour faire la demande. Si cela dure plus d'une heure, tuez le processus. Pas exactement idéal cependant.

Des idées à ce sujet, ou comment cela pourrait-il être implémenté différemment?

Modifier (solutions possibles):

  1. WShell.Run un VBScript pour exécuter dans un autre processus et terminer l'opération async. Tuer si s'exécute pour plus de n.
  2. Utilisez l'en-tête HTTP/1.1 Keep-Alive. Je préférerais implémenter cela sur le client.

Répondre

1

Utilisez-vous VBA/VB6 ou VBScript? Dans VBScript, Dim obj As Object n'est pas valide car il n'y a pas de typage statique.

Je pense que vous pourriez regarder la mauvaise référence d'objet. L'objet MSXML2.XMLHTTP possède l'interface IXMLHTTPRequest définie here et reference you mention pour l'objet XmlHttpRequest pris en charge par Internet Explorer 7+.

+0

Il s'agit en fait de BasicScript (un langage de script compatible VBA de Summit avec VSTA - http://www.google.com.au/search?q=summit basicscript), édité pour refléter cela. L'interaction est via COM, donc je pense que c'est équivalent aux fins de cette discussion. Merci pour les liens, je regardais les documents de l'objet, pas l'interface. Cela fait un peu plus de sens. – Kyle

Questions connexes