I am working with the HTTP stack of Symbian UIQ 7.0 and am facing a problem. When i send out a HTTP (GET) request, the response that i receive from the server has no headers. This being the case, the control inside the implemented MHFRunL() method always enters the " default" case first, and then the " Failed" case.
I am posting the explanation given at Symbian UIQ documentation for the events returned in Callback(i.eMHTTPTransactionCallback). Events are processed in turn by the client. They arrive in the order The following list explains the events` meanings:
> THTTPEvent::EGotResponseHeaders indicates that the
> response status is known,
> and that the headers from the response are ready for
> access by the client.
> This event will always be the first received, unless
> an error condition has
< < Ajay> > As per the explanation this is the first event always received if no error condition occurs .Going by the explanation it says that the response status and headers from the response are ready for access by the client.
> THTTPEvent::EGotResponseBodyData indicates that some
> body data is ready for
> processing. Response bodies are generally large
> enough to require splitting
> into smaller pieces (due to the use of fixed-size
> internal buffers), so the
> event will arrive as many times as there are pieces,
> until the whole body
> has been retrieved.
> THTTPEvent::EResponseComplete indicates that the
> transaction's response has
> been completely received. The client can now expect
> to be told whether the
> transaction was successful or not.
> THTTPEvent::ESucceeded is one of two possible final
> messages: it indicates
> success of the transaction.
> THTTPEvent::EFailed is the second of the two
> possible final messages: it
> indicates failure of the transaction.
< < Ajay> > - After traversing from default case it reaches here.We tried taking the response object and then try printing status code and text from here and it comes empty.
> default: an unrecognised event. Negative values
> indicate an error propogated
> from filters or lower comms layers. If not
> understood by the client, error
> values may be safely ignored since a
> THTTPEvent::EFailed event is guaranteed
> to follow. Positive values are used for warning
< < Ajay> > For response with out any headers it always enters this loop and when i try taking the response object and try printing the status text and status code in it it comes as empty.And the final event returned after it enters to default loop is that THTTPEvent::Failed.
If we try on the webbrowser on the emulator giving any invalid page, we get 404 Not Found with some default headers. Hence, we do not face the above problem in this case.
Could anyone help me out as to how to get around this problem? Would greatly appreciate your urgent help...
Thanks and Regards,
Re: Symbian 7.0 UIQ http stack problem
I am usin S60 FP2(8.0), my problem is, i get headers inside my response body(content-type;sessionid,content-length,cookies).Also i dont receive the complete response though the body length is shown correctly as 'x' number of bytes.
sometimes wht happnes is a a chunk of data from the response is totally lost and i get first and last part of response.
"Start01234567890Last" were my actual response, thn i would be getting
"Start012345" as first chunk and then in the next chunk i would be getting "90Last", the chars '6','7','8', lost entirely.
My backend is ASP, and the response has been verified to be fine with various browsers and a toll "EffeTech HTTP Sniffer" that checks for http response and requests.
Please tell me if u faced this problem and any solutions, for the same.