Avatar billede hooh Nybegynder
07. november 2005 - 21:32 Der er 5 kommentarer og
1 løsning

Msxml2.ServerXMLHTTP.3.0

Hej jeg har nedenstående Asp side
-----------------------------------
INUrl="http://localhost/xml_api.asp"

sXML = "<hello>test</hello>"
    Set xmlhttp =  CreateObject("Msxml2.ServerXMLHTTP.3.0")
    xmlhttp.Open "POST",INurl, false
    on error resume next
    xmlhttp.Send(sXML)
    returnval=xmlhttp.responseText

Response.Write returnval
----------------------------



Jeg ønsker nu at lave siden "xml_api.asp", som kan modtage det jeg sender med over her.
Jeg har det problem at jeg ikke kan finde ud af at modtage min xml på den anden side..

Jeg havde håbet det var en ganske almindelig request.form, men det virker ikke.

Hvordan kan jeg fange det jeg sender over??
Avatar billede softspot Forsker
07. november 2005 - 21:45 #1
Såvidt jeg husker skal du formatere det som en post-string, altså name/value-par (navn=værdi). Prøv dette:


INUrl="http://localhost/xml_api.asp"

sXML = "sXML=<hello>test</hello>"
Set xmlhttp =  CreateObject("Msxml2.ServerXMLHTTP.3.0")
xmlhttp.Open "POST",INurl, false
on error resume next
xmlhttp.Send(sXML)
returnval=xmlhttp.responseText

Response.Write returnval
Avatar billede hooh Nybegynder
07. november 2005 - 21:51 #2
Dt virkede ikke :(
Avatar billede softspot Forsker
07. november 2005 - 21:58 #3
Der mangler også lige en lille header der fortæller at det er form-data (det kan godt være du er nød til at bruge en anden encoding en utf-8 for at det passer med de data du sender - det afhænger af din kilde's encoding):

INUrl="http://localhost/xml_api.asp"

sXML = "sXML=<hello>test</hello>"
Set xmlhttp =  CreateObject("Msxml2.ServerXMLHTTP.3.0")
xmlhttp.Open "POST",INurl, false
xmlhttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded; charset=utf-8"
on error resume next
xmlhttp.Send(sXML)
returnval=xmlhttp.responseText

Response.Write returnval
Avatar billede softspot Forsker
07. november 2005 - 22:01 #4
Hvis du vil sende flere felter/værdier kan du adskille dem med ampersand (&) som når du sender parametre til en url...:

sXML = "sXML=<hello>test</hello>&test=1&test2=dette+er+en+teststreng"

Det kan også være du er nød til at urlencode den streng du sender, for at være sikker på at alt kommer over som det skal (dette burde du kunne ordne med Server.URLEncode(sXML))...
Avatar billede hooh Nybegynder
08. november 2005 - 09:17 #5
Tak :o)
Det virkede...
Avatar billede softspot Forsker
08. november 2005 - 11:10 #6
Velbekomme og tak for point :)
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