• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1675
  • Last Modified:

How can I change the value of my SoapConnection1 time out ?

I have an application that uses webserver with SoapConnection.

When I tried to run a store procedure I am getting time out after 1 minute. How can I work around?

thanks
0
hidrau
Asked:
hidrau
  • 8
  • 5
1 Solution
 
JosephGloszCommented:
The RIO component you are using should have three timeouts associated with it. Set them accordingly.  For example, HTTPRIO below is declared as a THTTPRIO.  The following are 2 minute timeouts:

    HTTPRIO.HTTPWebNode.SendTimeout := 120000;
    HTTPRIO.HTTPWebNode.ConnectTimeout := 120000;
    HTTPRIO.HTTPWebNode.ReceiveTimeout := 120000;
0
 
hidrauAuthor Commented:
where must I insert this code? In my webServer ?

I use D7 and webserver components
0
 
hidrauAuthor Commented:
I have this components:

HTTPSoapDispatcher1
HTTPSoapPascalInvoker1
WSDLHTMLPublish1
0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
JosephGloszCommented:
Then I don't know; or else whoever is calling your webserver should set those timeouts in their calls.
0
 
hidrauAuthor Commented:
Yeah, I understood now.

You have to call your component soap and after that, another component.

like this:

  SoapConnection1.RIO.HTTPWebNode.SendTimeout := 12000

0
 
JosephGloszCommented:
Right. Except that I think those timeouts are in milliseconds. So 1000 = 1 sec.  60000 = 60 seconds, etc.
0
 
hidrauAuthor Commented:
alright, I'm gonna test it
0
 
hidrauAuthor Commented:
I tried and insert the code onbeforeconnection and I got exception

  SoapConnection1.RIO.HTTPWebNode.ConnectTimeout := 150000;
  SoapConnection1.RIO.HTTPWebNode.SendTimeout    := 150000;
  SoapConnection1.RIO.HTTPWebNode.ReceiveTimeout := 150000;
0
 
hidrauAuthor Commented:
As I can understand I need to create it , something like this:

procedure
Var
  RIO: THTTPRIO;
begin
  RIO := THTTPRIO.Create(AOwner);
  RIO.


I am trying yeat but I am not sure.

What do you think?
0
 
JosephGloszCommented:
Yes.  But if you have a form you can also just drop the THTTPRIO component onto it from the Web Component palette
0
 
hidrauAuthor Commented:
I have just seen this component.

Does it do what SoapConnection component does?
0
 
JosephGloszCommented:
SoapConnection might be a higher level way to make the remote procedure call (RPC).  I've only ever used HTTPRIO directly.  Sorry I can't be of more help.
0
 
hidrauAuthor Commented:
thanks
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

  • 8
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now