Solved

how to trap an timeout error on http posting/reply using vb6 code

Posted on 2009-06-29
3
351 Views
Last Modified: 2012-05-07
I have a section of the code of VB6 that want to do http posting and get reply from an remote asp server application.  it works fine, but I need to figure out a way to trap the "timed-out" operations in case the remote server is not responding.

I use the on error goto err label trying to do this.  but it does not works.  The vb.exe program is running in a scheduler,  when the error occurs, (it does shows the timedout error) but not trapped in the code.  but it pops up a small debug window.   (but no one is attending the terminal,  so it hangs there....)

(If I set the on error code set before XMLRespone = xmlhttp.ResponseText
 will do the trick?)

Please look the sample code I attached here, and see what I did wrong. and any suggestion
you can help to "insert/modify" my code to do this purpose.

thanks


sub main()

 

 Dim xmlhttp As WinHttp.WinHttpRequest

 Dim strArg As String

 Dim strMSG As String

 Dim StrURL As String

 Dim XMLResponse As String

 Dim strResponse As String

 dim i_str as string

 dim ch_i as integer

 

	ch_i = freefile()

	open "input_file.inp" for input as #ch_i   ' this file will contains many lines of parameter to pass

	

do while eof(ch_i) = false

        

 	Line Input #ch_i, i_str

	StrURL = "https://www.target.com/srv.asp"

     	strMSG = "?id1=HeathCheck&id2=123&id3=test" &  i_str

 	StrURL = StrURL & strMSG   ' /* make sure strlURL contains the https and the url cmd. */

    On Error GoTo err_posting

        Set xmlhttp = New WinHttp.WinHttpRequest

       

        xmlhttp.Open "POST", StrURL, False

        xmlhttp.SetRequestHeader "Host", "timeout-detecting-URL"   ' /* set label in web log */

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

        xmlhttp.Send (strMSG) 	'Submit the transaction to the server gateway

        'Wait for response

        XMLResponse = xmlhttp.ResponseText 	'Retrieve the result

        Set xmlhttp = Nothing 	'Destroy the object

	

	debug.print XMLResponse    ' display the result

 

	loop

finish:

    close ch_i

    exit sub

 

err_posting:

 

    debug.print err.description

 

    exit sub

end sub

Open in new window

0
Comment
Question by:mshox1
  • 2
3 Comments
 
LVL 20

Accepted Solution

by:
hes earned 500 total points
Comment Utility
Try moving the on error line to just after  sub main()
It is setting that in the loop currently
0
 

Author Comment

by:mshox1
Comment Utility
hes,

I tried that ealier,  but it does not works.  (i.e put on error outside the loop.

0
 

Author Closing Comment

by:mshox1
Comment Utility
good , thank you
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now