[ASP] FileSystemObject .write maximale omvang?

Pagina: 1
Acties:

  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

Topicstarter
Ik ben op dit moment bezig om met een (classic) ASP (jeuh...) script een rss feed op te halen van de ene server en hem vervolgens op te slaan op de server van waaruit het asp script aangeroepen wordt.

Dit probeer ik te doen middels onderstaande code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<%
    '** Set some vars
    poultryRssUrl   = "http://www.website.nl/rss.xml"
    localRssUrl     = "path\rss.xml"
    
    '** Check if file exists. If not create file, else overwrite file
    set fs = CreateObject("Scripting.FileSystemObject")
    
    if NOT fs.FileExists(localRssUrl) Then
        set rssFile = fs.CreateTextFile(localRssUrl)
    else
        set rssFile = fs.OpenTextFile(localRssUrl, 2)
    end if
    
    '** get RssFeed and copy it to file
    rssFeed = getRssFeed
    rssFile.write(rssFeed)
    rssFile.Close()

    '** Gets and returns the content of the rss feed
    function getRssFeed()
        Set xmlHTTP = Server.CreateObject ("Msxml2.ServerXMLHTTP")      
        xmlHTTP.Open "GET", poultryRssUrl, False
        xmlHTTP.send
        getRssFeed = xmlHTTP.responseText
    end function
%>

Het probleem is nu dat wanneer ik het script gebruik, ik de volgende (lekker onduidelijke) foutmelding krijg:
code:
1
2
3
4
5
Microsoft VBScript runtime  error '800a0005'

Invalid procedure call or argument

/site/include/rss.asp, line 17

Line 17 is hier de line waarop de write methode wordt aangeroepen. Ik ben erachter dat deze foutmelding alleen optreedt wanneer de rss file groter is dan een bepaald aantal bytes.

Op mijn zoektocht op internet kwam ik geen oplossing voor dit probleem tegen, tevens werd nergens gezegd dat er een maximale omvang was van het argument van de write methode.

Iemand die weet hoe dit probleem op te lossen / te omzeilen? Is er misschien een serverside iis instelling ofzo die de omvang aan banden legt?

Specs | Audioscrobbler


  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 14:46

ripexx

bibs

Ik weet in ieder geval dat bij het uploaden van file sje in Windows 2003 server (IIS 6) kan aanlopen tegen de MaxRequestEntityAllowed value in je metabase.xml Daarnaast is e rnog zo'n waarde maar die weet ik niet uit mijn hoofd.

buit is binnen sukkel


Verwijderd

Volgens mij moet je als volgt te werk gaan:

Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fl = fs.GetFile(fileurl)
fl.OpenAsTextStream(8, 0) <- deze is dus van belang om te kunnen schrijven
fl.Write "stringetje"

[ Voor 18% gewijzigd door Verwijderd op 16-08-2005 10:35 ]


  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

Topicstarter
Verwijderd schreef op dinsdag 16 augustus 2005 @ 10:33:
Volgens mij moet je als volgt te werk gaan:

Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set fl = fs.GetFile(fileurl)
fl.OpenAsTextStream(8, 0) <- deze is dus van belang om te kunnen schrijven
fl.Write "stringetje"
Op deze manier loop ik tegen exact hetzelfde probleem aan helaas..

Specs | Audioscrobbler


Verwijderd

Debug!

Controleer of rssFeed de juiste tekst bevat, en of rssFile het juiste object bevat (door tussendoor te echoen naar de browseruitvoer).

Verder heb je in principe een syntax error in regels 17 en 18, die helaas gedoogd wordt: er horen geen haakjes om de argumenten een een procedureaanroep (op regel 23 doe je het wel goed).

[ Voor 9% gewijzigd door Verwijderd op 16-08-2005 15:05 ]


  • Sappie
  • Registratie: September 2000
  • Laatst online: 27-04 07:10

Sappie

De Parasitaire Capaciteit!

Topicstarter
rssFeed bevat telkens de juiste inhoud, dat heb ik wel gechecked.. het ligt em echt aan de grootte van de te "writen" string. Andere ideeën misschien nog? :)

Verder haal ik de "syntax errors" er ff uit. Gelukkig hoef ik maar heeeeel sporadisch te vbscripten. Tis dan ook altijd weer een halve dag wennen aan die (in mijn ogen) vervelende syntax en dat heeft zoals blijkt wel eens inconsequenties tot gevolg :)

edit:
het wel of niet gebruiken van haakjes bij aanroep van methodes in vbscript is trouwens maar een wazig iets en niet erg eenduidig te vinden, maar het is in ieder geval beter om consequent te zijn. In het (antieke) ASP boek wat ik hier voor mijn neus heb wordt aangegeven dat argumenten van methodes (en procedures) wél omgeven moeten worden door haakjes. In tegenstelling dus tot wat OneOfBorg zegt houd ik dat aan.

Schijnbaar heeft OneOfBorg toch weer deels gelijk, want haakjes om de parameters van wat ik dacht dat de open methode was van het xmlhttp object (blijkt dus een subprocedure te zijn) geeft onherroepelijk een error dat het niet toegestaan is. (begrijp het verschil tussen een subprocedure en een methode in vbscript dus niet ofzo, maarja :) )

[ Voor 70% gewijzigd door Sappie op 16-08-2005 16:25 ]

Specs | Audioscrobbler

Pagina: 1