Primoz Gabrijelcic wrote:
>> Arno Garrels wrote:
>>> Primoz Gabrijelcic wrote:
>>>> Recently  I  was  working  on  Silverlight/Delphi integration via
>>>> SOAP services and I found a problem in HTTP Server component.
>>>> 
>>>> When  Silverlight  issues  SOAP  POST, it does not terminate POST
>>>> data with  newline. (Same happens with WPF application and
>>>> BasicHttpBinding so that's definitely a global .NET issue.)
>>>> 
>>>> That  causes  problems  with the THttpServer component  because it
>>>> reads HTTP request (including  POST data) in line mode. Because
>>>> terminating newline never appears, THttpConnection doesn't  process
>>>> POST data and it doesn't notice that client already sent all data
>>>> it was supposed to send.
>>>> 
>>>> My temporary fix was to switch line mode off in ProcessPost:
>>>> 
>>>>    hgAcceptData:
>>>>    begin
>>>>        FAcceptPostedData := TRUE;
>>>>        LineMode := false; //FAB
>>>>    end
>>>> 
>>>> It looks like this fixes the problem.
>>> 
>>> I think so. Does anybody else see any side effects with this
>>> change? Otherwise I'll add it to both V6 and V7.
> 
>> I won't add it because it might break backwards compatibility.
>> It's recommended to set LineMode to FALSE in application's
>> event handler OnPostDocument, as this is also shown in the demo.
> 
> Thanks for pointing it out! Didn't notice that one.

It is save to switch to non-LineMode, however it is a "must do"
to call PostedDataReceived after _everything has been received,
this sets the component back to LineMode again and also sets the 
correct state for the next request.

--
Arno Garrels
--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to