Avatar billede chrisrj Forsker
19. maj 2004 - 19:58 Der er 4 kommentarer og
1 løsning

SOAP - sende og hente XML, hvordan?

Jeg er ved at lave et lille system der kan hente data i XML format via SOAP.

Jeg har fundet et eksempel på dette link: http://www.asp101.com/articles/graphiz/googleapi/default.asp

Og rettet det lidt til:
<html>
<body>
<%
If Request.Form("SubmitButton") <> "Submit" Then
  %>
  <form method="post" name="g" action="testny6.asp">
  <input type="text" name="searchstring" size="20"><br>
  <input type="submit" value="Submit" name="SubmitButton">
  <form>
  <%
Else
  %>
  <p>
  Results for Search:
  <font color="red"><%=request.form("searchstring")%></font>
  </p>
  <%
  'Google_Web_APIs_license_key = "00000000000000000000000000000000"
 
  If Request.Form("searchstring") = "" Then
    Search_String = "test"
  Else
    Search_String = Request.Form("searchstring")
  End If
  '
  ' This SOAP message came from the Google API soap-examples.
  ' Dump the SOAP message into an XML document and set the key value,
  ' search string value and start index.
  '
  Set objInputXMLDoc = Server.CreateObject("Microsoft.XMLDOM")
  objInputXMLDoc.load Server.MapPath("minxmlfil.xml")
  'objInputXMLDoc.selectSingleNode("//HEADER").Text = Google_Web_APIs_license_key
  'objInputXMLDoc.selectSingleNode("//HEADER").Text = Search_String
  'objInputXMLDoc.selectSingleNode("//start").Text = 0
  '
  ' Post the SOAP message.
  '
  Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP")
  objXMLHTTP.open "post", "http://minurl", False
  objXMLHTTP.setRequestHeader "Content-Type", "text/xml"
  'objXMLHTTP.setRequestHeader "SOAPAction", "test"
  objXMLHTTP.send objInputXMLDoc
  showXML(objXMLHTTP.responseText)
  '
  ' Dump the results into an XML document.
  '
  Set objOutputXMLDoc = Server.CreateObject("Microsoft.XMLDOM")
  objOutputXMLDoc.loadXML objXMLHTTP.responseText
  '
  ' Parse the XML document.
  '
  Set Nodes = objOutputXMLDoc.selectNodes("//test1")
  For Each Node In Nodes
    Response.Write "<a href=""" & Node.selectSingleNode("testdata").Text & """>" _
      & Node.selectSingleNode("testdata").Text & "</a><br>" & VbCrLf
  Next
End If
%>
</body>
</html>
<%
Function showXML(XMLSource)
  Response.Clear
  Response.Write XMLSource
  Response.End
End Function
%>

men skidtet virker ikke - den fejler i linien "objXMLHTTP.send objInputXMLDoc"

Uden at vide det med sikkerhed, tror jeg det har noget at gøre med linierne med objXMLHTTP.setRequestHeader. Men der tager jeg måske fejl?

Jeg har ikke prøvet at arbejde med SOAP før, så hold jer endelig ikke tilbage med spørgsmål om indlysende ting(som jeg har undladt). ;)
Avatar billede dawin_dk Nybegynder
20. maj 2004 - 06:11 #1
jeg tror mere det er enten filen: minxmlfil.xml der ikke findes på serveren ...
eller at du ikke har rettet :objXMLHTTP.open "post", "http://minurl", False .... http://minurl er jo ikke en gyldig url og burde derfor give en fejl
Avatar billede chrisrj Forsker
20. maj 2004 - 08:20 #2
"jeg tror mere det er enten filen: minxmlfil.xml der ikke findes på serveren "
Hvilken server snakker du om? min eller den jeg forbinder til? den ligger på min server - det er jeg helt sikker på.

Mht. urlen ville jeg ikke skrive den rigtige url her, da jeg ikke er sikker på at jeg må, så det er (heller) ikke det. :)
Avatar billede chrisrj Forsker
29. maj 2004 - 10:36 #3
lukket
Avatar billede goose Nybegynder
18. januar 2006 - 20:23 #4
Fandt du ud af hvor fejlen lå, jeg står nemlig med samme problem?

/Goose
Avatar billede chrisrj Forsker
18. januar 2006 - 20:32 #5
Nu er det jo temmelig længe siden, så det kan jeg altså ikke huske. Desværre. :(
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