how to debug a server program

how to debug a server program

am 29.10.2007 18:21:00 von bettys

I have a testing client program, the purpose is send a xml file to a server
program, and the server return another xml message. So I wrote a testing
server program the simple one and make sure the communication is fine. After
that I started to program more complicated server program, since there are
many compliation error. The client program keep displaying:
The remote server returned an invalid statuscode: #8221;500 Internal Server
Error

Is there any way to display a detailed error message about the server
program in the web browser? So I can quickly debugging it and fix it, not to
have to waiting for an email from the program?

Thanks.

<%
Set xmlDom=CreateObject("Microsoft.XMLDOM")

XMLDom.async =False
xmlDom.load Server.MapPath("0925SelectTest.xml")
DataToSend = xmlDom.xml

dim xmlhttp
set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
xmlhttp.Open "POST","https://xxxx.com/TestCompleteB2B.asp",false
xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
xmlhttp.send xmlDom.xml
if(Err <> 0) then
Response.Write("An error occured when retrieving data from an external
source.
")
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)
Response.End
end if

'
--
Betty

Re: how to debug a server program

am 29.10.2007 23:12:16 von Anthony Jones

"c676228" wrote in message
news:8DCD0B94-342C-40E4-B909-3CB46265A758@microsoft.com...
> I have a testing client program, the purpose is send a xml file to a
server
> program, and the server return another xml message. So I wrote a testing
> server program the simple one and make sure the communication is fine.
After
> that I started to program more complicated server program, since there are
> many compliation error. The client program keep displaying:
> The remote server returned an invalid statuscode: #8221;500 Internal
Server
> Error
>
> Is there any way to display a detailed error message about the server
> program in the web browser? So I can quickly debugging it and fix it, not
to
> have to waiting for an email from the program?
>
> Thanks.
>
> <%
> Set xmlDom=CreateObject("Microsoft.XMLDOM")

Use MSXML2.DOMDocument.3.0,

>
> XMLDom.async =False
> xmlDom.load Server.MapPath("0925SelectTest.xml")

> DataToSend = xmlDom.xml

Delete the line above, DataToSend is not needed.

>
> dim xmlhttp
> set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
> xmlhttp.Open "POST","https://xxxx.com/TestCompleteB2B.asp",false

> xmlhttp.setRequestHeader "Content-Type",
"application/x-www-form-urlencoded"

Your not sending Form data so delete the above request header.

> xmlhttp.send xmlDom.xml

The line above should be:-

xmlhttp.send xmlDom

XmlHtttp know how to send a DOM and will set the appropriate Content-Type
"text/xml" for you.


> if(Err <> 0) then
> Response.Write("An error occured when retrieving data from an external
> source.
")
> Response.Write(Err.Description)

Response.Wrte Err.Description

Don't use parentheses when call procedures that don't return a value.

> Response.End

Don't do Response.Ends unless you really have to.


> 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)

If the server is sending any detail about what went wroing it will be in the
responseText. In fact it's likely to be a complete HTML page so you might
consider:-

Response.Write xmlHttp.responseText


> Response.End

Delete the above line.


> end if
>



--
Anthony Jones - MVP ASP/ASP.NET

Re: how to debug a server program

am 29.10.2007 23:22:01 von bettys

Thank you so much Anthony. I will try this.


"Anthony Jones" wrote:

> "c676228" wrote in message
> news:8DCD0B94-342C-40E4-B909-3CB46265A758@microsoft.com...
> > I have a testing client program, the purpose is send a xml file to a
> server
> > program, and the server return another xml message. So I wrote a testing
> > server program the simple one and make sure the communication is fine.
> After
> > that I started to program more complicated server program, since there are
> > many compliation error. The client program keep displaying:
> > The remote server returned an invalid statuscode: #8221;500 Internal
> Server
> > Error
> >
> > Is there any way to display a detailed error message about the server
> > program in the web browser? So I can quickly debugging it and fix it, not
> to
> > have to waiting for an email from the program?
> >
> > Thanks.
> >
> > <%
> > Set xmlDom=CreateObject("Microsoft.XMLDOM")
>
> Use MSXML2.DOMDocument.3.0,
>
> >
> > XMLDom.async =False
> > xmlDom.load Server.MapPath("0925SelectTest.xml")
>
> > DataToSend = xmlDom.xml
>
> Delete the line above, DataToSend is not needed.
>
> >
> > dim xmlhttp
> > set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP")
> > xmlhttp.Open "POST","https://xxxx.com/TestCompleteB2B.asp",false
>
> > xmlhttp.setRequestHeader "Content-Type",
> "application/x-www-form-urlencoded"
>
> Your not sending Form data so delete the above request header.
>
> > xmlhttp.send xmlDom.xml
>
> The line above should be:-
>
> xmlhttp.send xmlDom
>
> XmlHtttp know how to send a DOM and will set the appropriate Content-Type
> "text/xml" for you.
>
>
> > if(Err <> 0) then
> > Response.Write("An error occured when retrieving data from an external
> > source.
")
> > Response.Write(Err.Description)
>
> Response.Wrte Err.Description
>
> Don't use parentheses when call procedures that don't return a value.
>
> > Response.End
>
> Don't do Response.Ends unless you really have to.
>
>
> > 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)
>
> If the server is sending any detail about what went wroing it will be in the
> responseText. In fact it's likely to be a complete HTML page so you might
> consider:-
>
> Response.Write xmlHttp.responseText
>
>
> > Response.End
>
> Delete the above line.
>
>
> > end if
> >
>
>
>
> --
> Anthony Jones - MVP ASP/ASP.NET
>
>
>