ATLServer class CSoapSocketClientT cannot handle greater than 2048 bytes in response








UPDATE: Replace ATLServer with WWSAPI! Windows Web Services API Client code walkthrough 


Using the following code:


CoInitialize (NULL);
CServiceT <CSoapSocketClientT<>> * myclient =
new CServiceT<CSoapSocketClientT<>>; //socket client

BSTR results;
HRESULT hr = myclient->BigString(1024*32,&results);

 The hr value was E_FAIL.


 


This is because the Socket Based class cannot handle a return buffer bigger than 2K.


The solution is to use one of the following derivations:


CServiceT <CSoapWininetClient> * myclient = new CServiceT<CSoapWininetClient>; //wininet client


CServiceT <CSoapMSXMLInetClient> * myclient = new CServiceT<CSoapMSXMLInetClient>; //winhttp client
 


Neither of these have the 2K limit


 

Comments (0)