This project is read-only.
2
Vote

CSoapHandler not wired under IIS7, Win Server 2008

description

Running against IIS7 / Windows Server 2008, CSoapHandler Isapi extension would not route calls into the instance of the soap handler due to a bug in atlisapi.h
 
The fix -- inside class CServerContext had to change implementation of the Initialize method to obtain the script path explicitly
 
void Initialize(__in EXTENSION_CONTROL_BLOCK *pECB)
{
ATLENSURE(pECB);
m_pECB = pECB;
 
// Initialize the translated script path
DWORD dwSize=0;
BOOL bRes = GetServerVariable("SCRIPT_TRANSLATED", NULL, &dwSize);
char *szScriptPathTranslated = NULL;
ATLTRY(szScriptPathTranslated = m_strScriptPathTranslated.GetBuffer(dwSize));
if (szScriptPathTranslated)
{
    GetServerVariable("SCRIPT_TRANSLATED", szScriptPathTranslated, &dwSize);
    szScriptPathTranslated[dwSize] = '\0';
    m_strScriptPathTranslated.ReleaseBuffer(dwSize);
}
 
// Old implementation:
//_AtlGetScriptPathTranslated(GetPathTranslated(), m_strScriptPathTranslated);
}

comments

boolka wrote Dec 8, 2010 at 9:16 PM

The above is inside atlisapi.h.

wrote Apr 4, 2011 at 11:58 AM

wrote Feb 14, 2013 at 8:57 PM