You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@axis.apache.org by John Hawkins <HA...@uk.ibm.com> on 2004/04/19 10:03:48 UTC

HTTPTransport >>




Hi Folks,

the signature and associated documentation (the comments below from
HTTPTransport.hpp) suggest that this method should read in all of the
available payload. Currently it takes the payload only until the HTTP
Header is "validated".

Am I correct in saying that this method needs fixing to grab all of the
payload or am I missing something?

/* Read from a HTTP transport handler and store read payload */
    const Transport& operator >> (const char** pPayload);


thanks,
John.




John Hawkins,

Tel:
Internal:  (7) 24-7131
External: (+44 ) (0) 1962 817131

Mailpoint 188,
IBM UK,
Hursley Park,
Winchester,
UK.
SO21 2JN


Re: HTTPTransport >>

Posted by John Hawkins <HA...@uk.ibm.com>.



Thanks for that damitha,

I saw that it was attempting to read the rest of the payload but the
channel only reads in a certain number of bytes at a time, therefore there
are occasions, when the reply is large, that the payload is not fully read.
Jean-Yves pointed this out to me over the weekend and I just needed to
validate that this is the only place where the payload was attempted to be
read in so that I can fix it. We should have a fix for this by a few hours
that also resolves the HTTP 1.1 chunking issues (properly this time :-)

regards,
John.

John Hawkins,

Tel:
Internal:  (7) 24-7131
External: (+44 ) (0) 1962 817131

Mailpoint 188,
IBM UK,
Hursley Park,
Winchester,
UK.
SO21 2JN


                                                                           
             damitha@opensourc                                             
             e.lk                                                          
                                                                        To 
             20/04/2004 08:34          "Apache AXIS C Developers List"     
                                       <ax...@ws.apache.org>          
                                                                        cc 
             Please respond to                                             
              "Apache AXIS C                                       Subject 
             Developers List"          Re: HTTPTransport >>                
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           
                                                                           




Hi John,
>

> the signature and associated documentation (the comments below from
> HTTPTransport.hpp) suggest that this method should read in all of the
> available payload. Currently it takes the payload only until the HTTP
> Header is "validated".

This method will read the string passed to it to extract the content length
and after that, it reads the payload available, remaining on that string.
But that's not the all payload. In
const transport& operator >> (const char* pPayload)

we have
--------------
/* Http header is processed and validated. We now receive the payload*/
    /* from the channel*/
    if(m_IsHttpHeader == 1)
    {
        *m_Channel >> m_PayLoad;
        *pPayLoad = m_PayLoad.c_str();
        return *this;
    }
-------------
to read the rest from the Channel

damitha


>
> Am I correct in saying that this method needs fixing to grab all of the
> payload or am I missing something?

It seems to me that you missed the fact that I mentioned above


cheers
damitha



Re: HTTPTransport >>

Posted by da...@opensource.lk.
Hi John,
>

> the signature and associated documentation (the comments below from
> HTTPTransport.hpp) suggest that this method should read in all of the
> available payload. Currently it takes the payload only until the HTTP
> Header is "validated".

This method will read the string passed to it to extract the content length
and after that, it reads the payload available, remaining on that string.
But that's not the all payload. In
const transport& operator >> (const char* pPayload)

we have
--------------
/* Http header is processed and validated. We now receive the payload*/
    /* from the channel*/
    if(m_IsHttpHeader == 1)
    {
        *m_Channel >> m_PayLoad;
        *pPayLoad = m_PayLoad.c_str();
        return *this;
    }
-------------
to read the rest from the Channel

damitha


>
> Am I correct in saying that this method needs fixing to grab all of the
> payload or am I missing something?

It seems to me that you missed the fact that I mentioned above


cheers
damitha