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)

Skip to main content