2010-02-11 7 views
2

J'ai un flux RSS distant qui doit être transformé en documents Notes en utilisant LotusScript.Lecture d'une URL distante dans Domino LotusScript

J'ai parcouru la documentation, mais je ne trouve pas comment ouvrir une URL distante afin de récupérer son contenu. En d'autres termes, une sorte de fonctionnalité wget- ou curl-like. Quelqu'un peut-il faire la lumière sur la façon de faire cela? L'utilisation de Java n'est pas une option.

Merci.

Répondre

4

Découvrez la classe NotesDOMParser - disponible dans LotusScript - qui vous permet de tirer (indirectement) XML à partir d'une URL distante et de traiter un objet DOM XML.

Vous pouvez insérer le code XML dans une chaîne à l'aide de l'objet COM MSXMLHTTP, puis utiliser NotesStream pour envoyer le code XML au NotesDOMParser.

Je n'ai pas testé, mais le code ressemblerait à quelque chose comme ceci:

... 
Set objXML = CreateObject("Microsoft.XMLHTTP") 
objXML.open "GET", sURL, False, "", "" 
objXML.send("") 
sXMLAsText = Trim$(objXML.responseText) 

Set inputStream = session.CreateStream 
inputStream.Open (sXMLAsText) 
Set domParser=session.CreateDOMParser(inputStream, outputStream) 
domParser.Process 
... 

Documentation: http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/index.jsp?topic=/com.ibm.designer.domino.main.doc/H_NOTESDOMPARSER_CLASS.html

+0

Cela devrait faire l'affaire, merci! – dland

+0

Une méthode pour vous connecter? – iconoclast

+0

Consultez les documents pour l'objet xmlhttp activex - vous pouvez fournir des informations d'identification d'authentification lorsque vous ouvrez l'objet: http://msdn.microsoft.com/en-us/library/ms757849(v=vs.85).aspx –

2

Vous ne pouvez pas ouvrir une URL distante (que ce soit HTTP ou un autre protocole) en utilisant Lotusscript natif: la bibliothèque d'objets ne le supporte pas. Si vous utilisez un serveur Windows, vous devriez pouvoir utiliser les DLL MS XMLHttp pour obtenir un handle sur votre fichier distant via une URL, comme spécifié par la réponse précédente. (En variante, this link spécifie comment analyser et ouvrir un chemin UNC avec Lotusscript - encore une fois, Windows uniquement). Cela dit, si je vous ai bien compris, vous n'utilisez pas du tout HTTP pour accéder au fichier distant. Si le fichier RSS se trouve sur un simple chemin, pourquoi ne pouvez-vous pas ouvrir le fichier pour l'analyse normale avec Lotusscript?

+0

Si c'était un fichier local que je ne demanderais pas! Je suis en train d'analyser un fichier local, c'est facile. C'est automatiser le téléchargement du fichier qui s'avère difficile. Mais XMLHttp devrait faire l'affaire; Je n'avais pas pensé à ça. – dland