[ASP/Inet] Execute et OpenURL

Execute et OpenURL [ASP/Inet] - ASP - Programmation

Marsh Posté le 17-01-2005 à 17:11:12    

Bonjour,
 
Je plante tout d'abord le décor :
J'utilise VB6 pour créer des applications IIS basées donc sur ASP. Un client se connecte via une interface en VB6 sur mon serveur que l'on nommera "S1".
Ce même serveur peut se connecter sur un autre serveur ("S2" )(toujours application IIS en VB6) pour accéder à certaines fonctionnalités. On repose donc sur une architecture 3-tier.
J'utilise le composant Inet pour que mon serveur S1 se connecte sur mon serveur S2.  
Ainsi je fais par exemple :
InetObj.execute "http://monURL_blablabla & WCU","param1=toto&param2="tata"
 
Le problème :
Tout ca marche à merveille en mode débug.
Un client C1 se connecte sur S1, puis demande à S1 une info de S2, tout ça se passe bien.
MAIS, si je compile tout et que S1 fait un InetObj.Execute vers S2, alors la prochaine requete du client C1 va rester bloquée avant le beginRequest sur S1 ! Bref, ca crashe méchamment...
 
Après moultes recherches, j'ai trouvé juste un ligne qui dit "Execute ne marche pas avec l'ASP".
Soit... je m'attèle donc à chercher une solution alternative et pourquoi pas utiliser InetObj.OpenURL. Sauf que là j'ai un autre problème :
je n'arrive pas a faire passer les arguments...
Si quelqu'un pouvait m'aider, :sol:  
Merci par avance !
 
 
[EDIT]
 
Bon après d'autres recherches (et pour ceux que ça intéresse...):
Le composant Inet ne doit pas être utilisé avec IIS et/ou ASP.
En effet, et comme j'ai pu le remarquer, microsoft indique que la méthode Execute n'est pas supportée en ASP et que le contrôle Inet n'a pas été conçu pour fonctionner avec IIS.
Il est donc préconisé d'utiliser MSXML.
MSXML est un service permettant de créer des applications traitant le XML mais aussi de faire des accès HTTP entre un client et un serveur ou bien entre deux serveurs, et donc désigné tout particulièrement pour mon exemple.
Son utilisation est bien plus logique que Inet, et plus souple. J'ai pu réecrire mon code en quelques minutes !
 
Exemple :
 

Citation :

'** définition
dim MonObjetXmlHttp as MSXML2.ServerXMLHTTP40
dim MonRetour as string  
dim nb_secondes as long  
dim Entete as string  
 
'** on ouvre l'url
MonObjetXmlHttp.Open "POST", "http://MonUrl",False
MonObjetXmlHttp.SetRequestHeader "Content-Type", "Application/x-www-form-urlencoded"
'** on va envoyer des paramètres
MonObjetXmlHttp.Send "Param1=toto&Param2=Titi"
 
'** on attend (remplace StillExecuting de l'objet inet qu'il fallait faire boucler...)
nb_secondes = 30
MonObjetXmlHttp.WaitForResponse nb_secondes
 
'** on peut récupérer l'entête en retour (remplace GetHeader)
Entete = MonObjetXmlHttp.StatusText()
 
'** et enfin le corps
MonRetour = MonObjetXmlHttp.ResponseText


 
Voilou !!!
 
 
quelques liens :
http://msdn.microsoft.com/library/ [...] mscXML.asp
 
www.perfectxml.com/msxmlHTTP.asp+M [...] r&ie=UTF-8


Message édité par _charlyoleg_ le 19-01-2005 à 14:11:25
Reply

Marsh Posté le 17-01-2005 à 17:11:12   

Reply

Marsh Posté le 23-01-2008 à 17:32:36    

Hello !
 
Bravo pour ce petit exposé et les explications !
 
Très utile, merci beaucoup !
 
Fabrice KUCHTA

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed