mboost-dp1

Hjælp til SOAP via classic ASP


Gå til bund
Gravatar #1 - MortVader
26. nov. 2008 19:29
Hej.

Jeg har brug for at sende sådan en SOAP envelope for at modtage noget XML. Dybest set interesserer jeg mig ikke for SOAP, og håber egentlig på at nogen kan hjælpe mig med at finde ud af hvorfor mit script (i bunden af denne post) giver en server-side fejl:

----------------------------------------
Data at the root level is invalid. Line 1, position 39.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Xml.XmlException: Data at the root level is invalid. Line 1, position 39.

Source Error:

Line 85: {
Line 86:
Line 87: dom.Load(httpStream);
Line 88:
Line 89: // Reset the stream position.


--------------------------------------------
... og mit script:


<%
soup="<?xml version=""1.0"" encoding=""utf-8""?>"""&vbcrlf&_
"<soap12:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap12=""http://www.w3.org/2003/05/soap-envelope"">"&vbcrlf&_
" <soap12:Header>"&vbcrlf&_
" <Authentication xmlns=""http://v2.services.trade.xdev.dk/"">"&vbcrlf&_
" <User>(mit username)</User>"&vbcrlf&_
" <Password>(mit password)</Password>"&vbcrlf&_
" </Authentication>"&vbcrlf&_
" </soap12:Header>"&vbcrlf&_
" <soap12:Body>"&vbcrlf&_
" <GetAllProductInfos xmlns=""http://v2.services.trade.xdev.dk/"" />"&vbcrlf&_
" </soap12:Body>"&vbcrlf&_
"</soap12:Envelope>"


set objHTTP=server.createobject("Msxml2.ServerXMLHTTP.3.0")
'set objHTTP=server.createobject("MSSOAP.HttpConnector30")
objHTTP.open "POST", "http://eshop.rosenmeier.dk/Services/ProductInfoService.asmx",false
'objHTTP.setRequestHeader "Content-Type", "text/xml; charset=utf-8;"
objHTTP.setRequestHeader "Content-Type", "application/soap+xml; charset=utf-8;"

objHTTP.setRequestHeader "SOAPAction", "http://v2.services.trade.xdev.dk/GetAllProductInfos"
objHTTP.setRequestHeader "Content-length", len(soup)

objHTTP.send soup

if objHTTP.status<>200 then
response.write "ERROR: " & objHTTP.responsetext
response.end
end if

response.write "SVAR:<br>"
response.write objHTTP.responseBody

set objhttp=nothing

%>
Gravatar #2 - Makey
26. nov. 2008 19:55
<%
soup="<?xml version=""1.0"" encoding=""utf-8""?>&

Suppe?
Gravatar #3 - MortVader
26. nov. 2008 20:01
Mjah... et måske nørdet forsøg på lidt humor.. men variablens navn er i hvert fald ikke fejlen :)
Gravatar #4 - Makey
26. nov. 2008 20:04
MortVader (3) skrev:
Mjah... et måske nørdet forsøg på lidt humor.. men variablens navn er i hvert fald ikke fejlen :)

Hvad ved jeg, der stod sæbe alle andre steder så tænkte jeg det kunne være fejlen siden de to ting staves meget ens :D
Gravatar #5 - arne_v
26. nov. 2008 20:12
#1

Generelt er det ret håbløst selv at skrive SOAP XML.

Find et SOAP toolkit til ASP.
Gravatar #6 - arne_v
26. nov. 2008 20:14
Gravatar #7 - arne_v
26. nov. 2008 20:17
#1

Hvis du insisterer på at håndkode din SOAP XML så prøv og udskriv din soup.

Umiddelbart kna jeg ikke forstå den "&quot;" !
Gravatar #8 - MortVader
26. nov. 2008 20:20
OK, tak arne_v, jeg vil prøve at kigge på det toolkit, når jeg kommer tilbage på min pind :)
Gravatar #9 - Kordonme
27. nov. 2008 07:27
Jeg har selv forsøgt at lege med Classic ASP og SOAP - jeg gav op!

Jeg lavede en .NET app til formålet i stedet. Det var simpelthen ikke tiden værd. Hvis du alligevel ønsker at bruge Classic ASP bør du skaffe dig et komponent der er beregnet til formålet.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login