Avatar billede tue Nybegynder
28. juli 2001 - 02:14 Der er 15 kommentarer og
2 løsninger

Connect via http med XMLDOM

Nu har jeg lavet hele min kode, og den virker som den skal lokalt, men den skal hente dataen fra en anden server, og det vil den ikke.

Når jeg forsøger for jeg bare script timeout.

Her er min start kode:
set    objXML = server.createobject(\"microsoft.xmldom\")
    objXML.async = false
    objXML.load(\"http://www.qcom.dk/tue/top10.xml\")

Hvordan for jeg den til at hente dataen fra den anden server?

Mvh.
Tue Sandal
tue@qcom.dk
Avatar billede jper Nybegynder
29. juli 2001 - 00:35 #1
prøv med objXML.loadXML(\"http://www.qcom.dk/tue/top10.xml\")
Avatar billede tue Nybegynder
29. juli 2001 - 10:59 #2
Hvis jeg gør som jper skriver, så udskriver den min parseerror.errorcode og melder \"Object required: \'[object]\'\" i denne linje: set xmlElement = objXML.documentElement.childNodes

Det skal lige nævnes igen, at filen virker lokalt.
Avatar billede jper Nybegynder
29. juli 2001 - 14:59 #3
Du bruger en forkert reference syntaksen er:

set objXML = Server.CreateObject(\"MSXML2.DOMDocument\")

Det virker fint når jeg prøver fra mig selv af.
Avatar billede tue Nybegynder
29. juli 2001 - 17:41 #4
Nu har jeg ændret min connection til følgene:

set objXML = server.createobject(\"msxml2.domdocument\")
    objXML.async = false
    objXML.setproperty \"ServerHTTPRequest\", true
    objXML.loadxml(\"http://www.qcom.dk/tue/top10.xml\")

... men jeg for stadig den samme fejl :(

jper > Hvis du har icq, så kontakt mig evt. på 58548143
Avatar billede getalife Nybegynder
29. juli 2001 - 20:07 #5
Vi er andre der er interesserede i hvad problemet er. Kan i ikke holde det herinde? :o)

Avatar billede jper Nybegynder
29. juli 2001 - 21:05 #6
Prøv at forklare hvad der er du skal bruge xml\'en til så laver jeg et eksempel til dig.

Sidder du bag en firewall eller kan det have noget at gøre med rettigheder?
Avatar billede tue Nybegynder
29. juli 2001 - 21:28 #7
Hvis du ikke kan huske det jper, så har jeg sagt at filen virker når jeg henter xml fra samme server som asp filen ligger på... Derfor ville et eksempel ikke hjælpe noget :)

Jeg ved ikke om det har noget at gøre med rettigheder, det eneste jeg ved er at det er en server hos UNI2.
Avatar billede kedde65 Praktikant
29. juli 2001 - 23:58 #8
Det er med alt mulig garanti noget at gøre med rettigheder til den server, hvor xml filen ligger. Hvordan du løser det ved jeg dog, ikke men er ganske interesseret i at vide det.

Kedde
Avatar billede tue Nybegynder
30. juli 2001 - 00:56 #9
Jeg har nu sendt en e-mail til administratoren af den server hvor jeg skal hente xml filen fra, så nu må vi se hvad de siger til det.
Avatar billede jper Nybegynder
30. juli 2001 - 10:06 #10
Jamen, jeg kan godt få det til at virke når jeg sidder der hjemme, jeg har ingen problemer med at loade den fil som du prøver at loade.

Derfor mener jeg at der er noget andet galt med din kode og hvis du fortalte hvad opgaven gik ud på ville jeg også kunne løse den.

Det har ikke noget at gøre med den server der hoster xml\'en, med mindre det også er den server du skal køre din asp fra. For så er det nok fordi de (Uni2) ikke har installeret XML dom\'en på maskinen
Avatar billede kedde65 Praktikant
30. juli 2001 - 10:16 #11
Det eneste sted hvor XML dokument skal være installeret, er på den server hvor asp filen kører, men det kan sagtens være et rettigeds problem på serveren der hoster xml filen.
Avatar billede tue Nybegynder
30. juli 2001 - 10:28 #12
jper > Den adresse jeg har skrevet ovenfor, er ikke den adresse jeg bruger. Jeg må ikke oplyse den rigtige adresse, så derfor har jeg lagt xml filen op på vores server.
Avatar billede tue Nybegynder
31. juli 2001 - 14:50 #13
Nu har jeg fået et svar fra administratoren, og han siger at fejlen ikke ligger hos dem, så der er måske alligevel noget om at fejlen er i min kode selvom den virker lokalt.

Her er hele min kode, dog uden den korekte adresse, men det er stadig væk på en anden server, så problemestillingen er den samme:

<%
set    objXML = server.createobject(\"msxml2.domdocument\")
    objXML.async = false
    objXML.setproperty \"ServerHTTPRequest\", true
    objXML.load(\"http://www.qcom.dk/tue/top10.xml\")

if objXML.parseerror.errorcode <> 0 Then
    response.write \"Der er noget galt!\"
end if

set xmlElement = objXML.documentElement.childNodes

html = html & \"<html>\" &_
              \"<head>\" &_
              \"<title>Top 10</title>\" &_
              \"</head>\" &_
              \"<body>\" &_
              \"<font face=\"\"verdana\"\">\" &_
              \"<table border=\"\"0\"\">\" &_
                    \"<tr>\" &_
                        \"<td></td>\" &_
                        \"<td colspan=\"\"2\"\"><font size=\"\"1\"\"><b>Vis top 10 for (vælg)</b></font></td>\" &_
                      \"<td>\"&_
                            \"<select name=\"\"type\"\" onChange=\"\"self.location.href=this.options[selectedIndex].value;\"\">\" &_
                                \"<option value=\"\"top10.asp?id=0&type=\" & request(\"type\") & \"&rente=\" & request(\"rente\") & \"&skat=\" & request(\"skat\") & \"\"\"\"
                              if request(\"id\") = \"0\" then
                                    html = html & \" selected\"
                              end if
                              html = html & \">Billån</option>\" &_
                                \"<option value=\"\"top10.asp?id=1&type=\" & request(\"type\") & \"&rente=\" & request(\"rente\") & \"&skat=\" & request(\"skat\") & \"\"\"\"
                              if request(\"id\") = \"1\" then
                                    html = html & \" selected\"
                              end if
                              html = html & \">Boliglån</option>\" &_
                                \"<option value=\"\"top10.asp?id=2&type=\" & request(\"type\") & \"&rente=\" & request(\"rente\") & \"&skat=\" & request(\"skat\") & \"\"\"\"
                              if request(\"id\") = \"2\" then
                                    html = html & \" selected\"
                              end if
                              html = html & \">Budgetkredit</option>\" &_
                                \"<option value=\"\"top10.asp?id=3&type=\" & request(\"type\") & \"&rente=\" & request(\"rente\") & \"&skat=\" & request(\"skat\") & \"\"\"\"
                              if request(\"id\") = \"3\" then
                                    html = html & \" selected\"
                              end if
                              html = html & \">Forbrugslån</option>\" &_
                                \"<option value=\"\"top10.asp?id=4&type=\" & request(\"type\") & \"&rente=\" & request(\"rente\") & \"&skat=\" & request(\"skat\") & \"\"\"\"
                              if request(\"id\") = \"4\" then
                                    html = html & \" selected\"
                              end if
                              html = html & \">Lønkassekredit</option>\" &_
                          \"</select>\" &_
                      \"</td>\" &_
                  \"</tr>\" &_
                  \"<tr>\" &_
                        \"<td></td>\" &_
                        \"<td colspan=\"\"2\"\"><font size=\"\"1\"\"><b>Renteinterval (vælg)</b></font></td>\" &_
                      \"<td>\"&_
                            \"<select name=\"\"type\"\" onChange=\"\"self.location.href=this.options[selectedIndex].value;\"\">\" &_
                                \"<option value=\"\"top10.asp?id=\" & request(\"id\") & \"&type=\" & request(\"type\") & \"&rente=0&skat=\" & request(\"skat\") & \"\"\"\"
                              if request(\"rente\") = \"0\" then
                                    html = html & \" selected\"
                              end if
                              html = html & \">Bankens laveste rente</option>\" &_
                                \"<option value=\"\"top10.asp?id=\" & request(\"id\") & \"&type=\" & request(\"type\") & \"&rente=1&skat=\" & request(\"skat\") & \"\"\"\"
                              if request(\"rente\") = \"1\" then
                                    html = html & \" selected\"
                              end if
                              html = html & \">Bankens højeste rente</option>\" &_
                          \"</select>\" &_
                      \"</td>\" &_
                  \"</tr>\" &_
                  \"<tr>\" &_
                        \"<td></td>\" &_
                        \"<td colspan=\"\"2\"\"><font size=\"\"1\"\"><b>Skat (vælg)</b></font></td>\" &_
                      \"<td>\"&_
                            \"<select name=\"\"type\"\" onChange=\"\"self.location.href=this.options[selectedIndex].value;\"\">\" &_
                                \"<option value=\"\"top10.asp?id=\" & request(\"id\") & \"&type=\" & request(\"type\") & \"&rente=\" & request(\"rente\") & \"&skat=0\"\"\"
                              if request(\"skat\") = \"0\" then
                                    html = html & \" selected\"
                              end if
                              html = html & \">Før skat</option>\" &_
                                \"<option value=\"\"top10.asp?id=\" & request(\"id\") & \"&type=\" & request(\"type\") & \"&rente=\" & request(\"rente\") & \"&skat=1\"\"\"
                              if request(\"skat\") = \"1\" then
                                    html = html & \" selected\"
                              end if
                              html = html & \">Efter skat</option>\" &_
                          \"</select>\" &_
                      \"</td>\" &_
                  \"</tr>\" &_
                  \"<tr>\" &_
                        \"<td colspan=\"\"4\"\" height=\"\"20\"\"></td>\" &_
                  \"</tr>\" &_
                    \"<tr>\" &_
                        \"<td width=\"\"25\"\"></td>\" &_
                      \"<td width=\"\"250\"\"><font size=\"\"1\"\"><b>Bank</b></font></td>\" &_
                      \"<td width=\"\"150\"\"><font size=\"\"1\"\"><b>Rentesats</b></font></td>\" &_
                      \"<td width=\"\"150\"\"><font size=\"\"1\"\"><b>\"
                      if request(\"skat\") = \"1\" then
                            html = html & \"ÅOP e. skat</b></font></td>\"
                      elseif request(\"skat\") = \"0\" then
                            html = html & \"ÅOP f. skat</b></font></td>\"
                      end if
                      html = html & \"</tr>\"

for i = 0 to int(xmlElement.length) - 1
    if xmlElement.item(i).attributes.item(0).text = request(\"id\") then
        if xmlElement.item(i).attributes.item(1).text = request(\"type\") then
            if xmlElement.item(i).attributes.item(2).text = request(\"rente\") then
                if xmlElement.item(i).attributes.item(3).text = request(\"skat\") then
                    for h = 1 to 10
                        tmpChildNumber = 2 + h
                        html = html & \"<tr>\" &_
                                          \"<td align=\"\"right\"\"><font size=\"\"1\"\">\" & xmlElement.item(i).childNodes.item(tmpChildNumber).attributes.item(0).text & \".</font></td>\" &_
                                          \"<td><font size=\"\"1\"\">\"
                                          if xmlElement.item(i).childNodes.item(tmpChildNumber).childNodes.item(0).text <> \"\" then
                                                html = html & \"<a href=\"\"\" & xmlElement.item(i).childNodes.item(tmpChildNumber).childNodes.item(0).text & \"\"\" target=\"\"_blank\"\">\"
                                              endTag = \"</a>\"
                                          end if
                                          html = html & xmlElement.item(i).childNodes.item(tmpChildNumber).childNodes.item(1).text & endTag & \"</font></td>\" &_
                                          \"<td><font size=\"\"1\"\">\" & xmlElement.item(i).childNodes.item(tmpChildNumber).childNodes.item(3).text & \"</font></td>\" &_
                                          \"<td><font size=\"\"1\"\">\" & xmlElement.item(i).childNodes.item(tmpChildNumber).childNodes.item(4).text & \"</font></td>\" &_
                                      \"</tr>\"
                    next
                end if
            end if
        end if
    end if
next

html = html & \"</table>\" &_
              \"</font>\" &_
              \"</body>\" &_
              \"</html>\"
             
response.write html
%>
Avatar billede jper Nybegynder
31. juli 2001 - 19:55 #14
Fortæl lige hvad det er du vil opnå.

Søg på Xpath i XML SDK\'et, for at finde en nemmere måde at tilgå dit DOM objekt, det er nemmere at overskue end alle de der nestede if\'er og næsten uendelig childnodes childnode ;-)
Avatar billede tue Nybegynder
31. juli 2001 - 20:33 #15
Det jeg skal lave (og har lavet) er følgene:
http://www.onlinecity.dk/mybanker/top10.asp?id=0&type=udlaan&rente=0&skat=1

... men på denne side bliver xml filen bare hentet lokalt, og derfor er der ingen fejl. Så snart jeg forsøger at hente fra en anden server (har nu prøvet flere forskellinge servere), for jeg følgene fejl:

http://www.onlinecity.dk/mybanker/top10[error].asp?id=0&type=udlaan&rente=0&skat=1

Jeg har nu lagt asp og xml filen op på nettet, så i har mulighed for at teste selv. Det skal dog siges at disse på ingen måder må bruges til egne formål eller vidre gives. Filerne kan hentes her:

http://www.qcom.dk/tue/xmldom.zip  (denne fil bliver fjernet når spørgsmålet lukker)
Avatar billede tue Nybegynder
02. august 2001 - 20:49 #16
Er der ikke nogle der kan hjælpe mig?
Avatar billede tue Nybegynder
10. november 2001 - 02:52 #17
Har fundet en løsning så jeg lukker sprøgsmålet! I for pointene som tak for at i gjorde et forsøg :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester