C
c676228
Hi all,
I had a program and it always works fine and suddenly it gives me the
following message when a pass a xml file to our server program:
error code: -1072896680 reason: XML document must have a top level element.
line #: 0
I don't know if it is my xml file or it is something else?
Here is my client side program:
<%@ Language=vbScript%>
<%
Set xmlDom=CreateObject("Microsoft.XMLDOM")
XMLDom.async =False
xmlDom.load Server.MapPath("05272008ACTest.xml")
DataToSend = xmlDom.xml
dim xmlhttp
set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST","https://www.mydomain.com/ac/xt_ac_B2B.asp",false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send DataToSend
if(Err <> 0) then
Response.Write("An error occured when retrieving data from an external
source.<br />")
Response.Write(Err.Description)
Response.End
end if
On error goto 0
'if request is not Ok then display detailed message about the request
problem
if(xmlHttp.status <> 200) then
Response.Write("The remote server returned an invalid statuscode: #8221;"
& _
xmlHttp.status & " " & xmlHttp.statusText) & "<br>"
Response.Write("response text from remote server" & _
" " & xmlHttp.responseText)
Response.End
end if
if xmlHttp.responseXML is nothing then
Response.Write("The remote server didn’t return xml content.")
Response.End
end if
Response.ContentType = "text/xml"
Response.Write xmlhttp.responsexml.xml
Set xmlhttp = nothing
%>
and 05272008ACTest.xml file is like this:
- <enrollment orderID="200808251114527143" PONumber="50000"
marketingCode="E" productName="adventureCenter">
<test>Y</test>
<residency>US</residency>
- <coverageOption>
<partI totalPartIPayment="12.55">Y</partI>
<partII totalPartIPayment="">N</partII>
</coverageOption>
<tripName>European Tour</tripName>
<enrollmentFee>5.00</enrollmentFee>
<totalPayment>765.00</totalPayment>
<tripDates departureDate="5/14/2007" returnDate="5/17/2007" tripDays="4" />
<numofParticipant>3</numofParticipant>
- <participants>
<participant firstName="Cindy" mInit="b" lastName="Rose"
birthdate="4/26/1955" tripCost="2500" partIPremium="187.50"
partIIPremium="25.00" />
<participant firstName="Kathy" mInit="c" lastName="Barlow"
birthdate="6/28/1944" tripCost="2500" partIPremium="262.50"
partIIPremium="35.00" />
<participant firstName="Matthrew" mInit="d" lastName="Kaminski"
birthdate="4/27/1933" tripCost="2500" partIPremium="300.00"
partIIPremium="45.00" />
</participants>
<mailingInfo name="Betty Sun" address="4406 Larwin ct." city="Concord"
state="CA" province="" zip="12345" country="United States" />
<email>[email protected]</email>
- <phone>
<homePhone number="4057887933">Y</homePhone>
<bizPhone>N</bizPhone>
</phone>
<enrollAgreement>Y</enrollAgreement>
- <payment>
<method>card</method>
<billingAddress name="Betty Sun" street="4406 larwin ct." city="Concord"
state="CA" province="" country="United States" />
<creditCard type="visa" number="4XXXXXXXXXXXXXX" expDate="7/2007" />
</payment>
</enrollment>
and My server program is like this:
Dim xmlDoc, InstreamXMLRoot, TestFlag
Set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.Load Request '--this is for xml sent via body
Response.ContentType = "text/xml" '--for testing program
'***********************************
'the server program complains here, but the funny thing
is I save the stream on the server and the file looks the same
as it is passed and it displays in the browser very well, I don't get it!!!!!
'***********************************
If xmlDoc.parseError.errorCode <> 0 Then
Call UpdateXMLResponse(orderID, "False", "XML", "error code: "
&xmlDoc.parseError.errorCode & " reason: " &xmlDoc.parseError.reason &" line
#: " &xmlDoc.parseError.line , "")
End If
IF isNULL(xmlDoc) Then
Set InstreamXMLRoot=Nothing
Call UpdateXMLResponse(orderID, "False", "XML", "The server didn't receive
the XML stream", "")
END IF
Set InstreamXMLRoot=xmlDoc.documentElement
IF isNULL(InstreamXMLRoot) Then
Set InstreamXMLRoot=Nothing
Call UpdateXMLResponse(orderID, "False", "XML", "The server didn't receive
the XML stream", "")
END IF
'Save all info before any transaction
xmlDoc.Save(Server.MapPath("B2BResponse/" & hour(now) & "_" & minute(now) &
"_" & RandomNumber(1000000) & "_" & month(now) & "_" & day(now) & "_" &
year(now) &"_B2BResponse.xml"))
I had a program and it always works fine and suddenly it gives me the
following message when a pass a xml file to our server program:
error code: -1072896680 reason: XML document must have a top level element.
line #: 0
I don't know if it is my xml file or it is something else?
Here is my client side program:
<%@ Language=vbScript%>
<%
Set xmlDom=CreateObject("Microsoft.XMLDOM")
XMLDom.async =False
xmlDom.load Server.MapPath("05272008ACTest.xml")
DataToSend = xmlDom.xml
dim xmlhttp
set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST","https://www.mydomain.com/ac/xt_ac_B2B.asp",false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send DataToSend
if(Err <> 0) then
Response.Write("An error occured when retrieving data from an external
source.<br />")
Response.Write(Err.Description)
Response.End
end if
On error goto 0
'if request is not Ok then display detailed message about the request
problem
if(xmlHttp.status <> 200) then
Response.Write("The remote server returned an invalid statuscode: #8221;"
& _
xmlHttp.status & " " & xmlHttp.statusText) & "<br>"
Response.Write("response text from remote server" & _
" " & xmlHttp.responseText)
Response.End
end if
if xmlHttp.responseXML is nothing then
Response.Write("The remote server didn’t return xml content.")
Response.End
end if
Response.ContentType = "text/xml"
Response.Write xmlhttp.responsexml.xml
Set xmlhttp = nothing
%>
and 05272008ACTest.xml file is like this:
- <enrollment orderID="200808251114527143" PONumber="50000"
marketingCode="E" productName="adventureCenter">
<test>Y</test>
<residency>US</residency>
- <coverageOption>
<partI totalPartIPayment="12.55">Y</partI>
<partII totalPartIPayment="">N</partII>
</coverageOption>
<tripName>European Tour</tripName>
<enrollmentFee>5.00</enrollmentFee>
<totalPayment>765.00</totalPayment>
<tripDates departureDate="5/14/2007" returnDate="5/17/2007" tripDays="4" />
<numofParticipant>3</numofParticipant>
- <participants>
<participant firstName="Cindy" mInit="b" lastName="Rose"
birthdate="4/26/1955" tripCost="2500" partIPremium="187.50"
partIIPremium="25.00" />
<participant firstName="Kathy" mInit="c" lastName="Barlow"
birthdate="6/28/1944" tripCost="2500" partIPremium="262.50"
partIIPremium="35.00" />
<participant firstName="Matthrew" mInit="d" lastName="Kaminski"
birthdate="4/27/1933" tripCost="2500" partIPremium="300.00"
partIIPremium="45.00" />
</participants>
<mailingInfo name="Betty Sun" address="4406 Larwin ct." city="Concord"
state="CA" province="" zip="12345" country="United States" />
<email>[email protected]</email>
- <phone>
<homePhone number="4057887933">Y</homePhone>
<bizPhone>N</bizPhone>
</phone>
<enrollAgreement>Y</enrollAgreement>
- <payment>
<method>card</method>
<billingAddress name="Betty Sun" street="4406 larwin ct." city="Concord"
state="CA" province="" country="United States" />
<creditCard type="visa" number="4XXXXXXXXXXXXXX" expDate="7/2007" />
</payment>
</enrollment>
and My server program is like this:
Dim xmlDoc, InstreamXMLRoot, TestFlag
Set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.Load Request '--this is for xml sent via body
Response.ContentType = "text/xml" '--for testing program
'***********************************
'the server program complains here, but the funny thing
is I save the stream on the server and the file looks the same
as it is passed and it displays in the browser very well, I don't get it!!!!!
'***********************************
If xmlDoc.parseError.errorCode <> 0 Then
Call UpdateXMLResponse(orderID, "False", "XML", "error code: "
&xmlDoc.parseError.errorCode & " reason: " &xmlDoc.parseError.reason &" line
#: " &xmlDoc.parseError.line , "")
End If
IF isNULL(xmlDoc) Then
Set InstreamXMLRoot=Nothing
Call UpdateXMLResponse(orderID, "False", "XML", "The server didn't receive
the XML stream", "")
END IF
Set InstreamXMLRoot=xmlDoc.documentElement
IF isNULL(InstreamXMLRoot) Then
Set InstreamXMLRoot=Nothing
Call UpdateXMLResponse(orderID, "False", "XML", "The server didn't receive
the XML stream", "")
END IF
'Save all info before any transaction
xmlDoc.Save(Server.MapPath("B2BResponse/" & hour(now) & "_" & minute(now) &
"_" & RandomNumber(1000000) & "_" & month(now) & "_" & day(now) & "_" &
year(now) &"_B2BResponse.xml"))