axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fred Preston <>
Subject Re: how to set a timeout - update
Date Thu, 07 Jul 2005 09:33:35 GMT
Hi Krishna,
        The IterationCountdown in the HTTPTransport::getBytes() method is 
not a timeout, but is used to catch a potential deadlock situation where 
the client is waiting for a response message from the server and the 
server either never or only partially responds.  The timeout for the 
socket is set by HTTPTransport::setTimeout( long lSeconds).  The default 
channel timeout is 10 seconds.  To change the timeout you have to be able 
to call the setTimeout method.  You cannot do this directly from the 
client application because it does not have access to the transport layer. 
 You can however change the timeout at the generated stub level.  The best 
time to change the timeout is before the invoke, i.e.

In the stub code for the web service method, change:
if (AXIS_SUCCESS == m_pCall->invoke())

m_pCall->getTransport()->setTimeout( 30); // Change the socket timeout to 
30 seconds
if (AXIS_SUCCESS == m_pCall->invoke())


Fred Preston.

krishna <>
07/07/2005 01:24 AM
Please respond to "Apache AXIS C Developers List"
        To:     Apache AXIS C Developers List <>
        Subject:        Re: how to set a timeout - update



Sorry for the traffic in the mailing list.

I traced the exception back to its where it was thrown. It looks like 
the timeout is hardcoded to 100 by setting iIterationCountdown=100 in 
the HTTPTransport.cpp:655 file.

Is there a way of resetting this timeout without recompiling axis or
Is there a way of recompiling the transport alone??


krishna wrote:

> Hi All
> The problem why the Array example was failing was due to timeouts. It 
> is "HTTPTransportException:Input streaming error while getting data 
> Timed out waiting for SOAP message (1)." I saw a discussion in the 
> lists about connection timeouts and response timeouts. Would this fall 
> under a response timeout ?
> I saw that Axis Java has a setTimeout functionality as part of the 
> stubs. I could not find it in Stub.hpp. Does this functionality exist 
> in Axis C++??
> Cheers
> Krishna
> krishna wrote:
>> Hi All
>> I was implementing the Array example on Axis 1.6 alpha. ( 
>> echoIntArray - The client sends an array of numbers and the server 
>> echoes the array back to the client ). This is a RPC based webservice
>> The example seemed to work fine for < 200 numbers. For numbers > 200 
>> the I had the following problems
>> I have attached the source code and stubs along with this email.
>> Please find parts of the SOAP_RESPONSE below.
>> 1.  The server did not echo back all the numbers
>> <item>1159</item>
>> <item>1160</item>
>> <item>1161</item>
>> <item>1162</item>
>> <item
>> The message stopped here it was supposed to return 10000 items.
>> 2.   Some text - "ffb" came into the message
>> <item>208</item>
>> <item>209</item>
>> <item
>> ffb
>> >210</item>
>> <item>211</item>
>> <item>212</item>
>> <item>449</item>
>> <item>450</item>
>> ffb
>> <item>451</item>
>> <item>452</item>
>> Is this a known issue? The output above was captured using ethereal.
>> Cheers
>> Krishna

View raw message