axis-c-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [jira] Resolved: (AXISCPP-46) Long responses from the server are truncated
Date Wed, 07 Apr 2004 10:09:43 GMT

   The following issue has been resolved as FIXED.

   Resolver: Susantha Kumara
       Date: Wed, 7 Apr 2004 3:09 AM

This bug has been fixed some 2 months back
View the issue:

Here is an overview of the issue:
        Key: AXISCPP-46
    Summary: Long responses from the server are truncated
       Type: Bug

     Status: Resolved
   Priority: Major
 Resolution: FIXED

    Project: Axis-C++
             Transport (Client)
   Fix Fors:
             current (nightly)

   Reporter: Nadine Maloney

    Created: Thu, 25 Mar 2004 8:16 AM
    Updated: Wed, 7 Apr 2004 3:09 AM
Environment: Windows XP C++ Client

When receiving in responses longer then 4096, the client does not receive more than the first
4095 bytes of the response. Then this is truncated to end at the last '>' character in
the response. This causes a fatal exception to occurr when parsing the response with XMLStreamHandler.
The exception message is "The input ended before all started tags have ended".

Stepping through the receiving of the code, after the first 4095 bytes are received in Channel::operator
>> a call is made to HttpTransport::GetStatus() which in turn calls HttpTransport::HTTPValidate()
which in turn calls HttpTransport::GetPayLoad() because the HTTP status is 200. In the HttpTransport::GetPayLoad()
call, the status is set to false and the payload is set to the start of the SOAP envelope
to the last '>' character found in the message. The status being set to false, causes the
Channel::operator >> to break out of it's receiving loop without receiving the rest
of the message.

Add the following statements to HttpTransport::GetPayLoad() after line #346 in HttpTransport.cpp.
if((pos = m_PayLoad.find("</soapenv:Envelope>")) == std::string::npos) 
	m_bStatus = true; 

This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:

If you want more information on JIRA, or have a bug to report see:

View raw message