XMLHttp Send失败,报Access is denied错误,请高手指点

海蛰 2003-12-25 11:00:10
在通过XMLHttp Send提交时,错误描述:Access is denied,错误代码:0x80070005
而且,在很多机器上运行都是可以的,只有在某台机器上才会出现这个错误。

部分代码:

IXMLDOMDocumentPtr pDoc2=NULL;
IServerXMLHTTPRequest2Ptr pXMLHttp=NULL;
hr=pXMLHttp.CreateInstance("Msxml2.ServerXMLHTTP.4.0");
lSleepEx=0;
hr=pXMLHttp->open("POST",ServerURL,_variant_t(VARIANT_FALSE), _variant_t(""), _variant_t(""));
try
{
hr=pXMLHttp->send(v.c_str());
}
catch(_com_error &e)
{
char sTmp[1024];
sprintf(sTmp,"Service RecvSMS Warning: %s,Error Code:0x%X",e.ErrorMessage(),e.Error()); //进入此处 ,e.ErrorMessage()=Access is denied ,e.Error=()0x80070005

}

...全文
103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
flashsj 2004-02-07
  • 打赏
  • 举报
回复
hr=pXMLHttp.CreateInstance("Msxml2.ServerXMLHTTP");
yonghengdizhen 2004-01-11
  • 打赏
  • 举报
回复
这样创建吧.
hr=pXMLHttp.CreateInstance("Msxml2.ServerXMLHTTP");
Onega 2003-12-26
  • 打赏
  • 举报
回复
bool isMSXMLInstalled()
{
TCHAR szTemp[256];
DWORD dwLen;
try
{
HKEY hKey;
DWORD retCode;


retCode = RegOpenKeyEx(HKEY_CLASSES_ROOT,
_T("CLSID\\{88d969c0-f192-11d4-a65f-0040963251e5}\\InProcServer32"),
0,
KEY_QUERY_VALUE,
&hKey);

if (retCode != ERROR_SUCCESS) return false;

retCode = RegQueryValueEx(hKey, _T(""), NULL, NULL,
(LPBYTE)szTemp, &(dwLen = sizeof(szTemp)));

if (retCode != ERROR_SUCCESS) return false;

RegCloseKey(hKey);

double dVer;
int i;

for (i = _tcslen(szTemp); i >= 0; --i)
{
if (szTemp[i] == _T('\\'))
break;
}

if (_stscanf(szTemp + i + 1, _T("msxml%lf"), &dVer) == 0 || dVer < 4.0)
{
_ftprintf(stderr, _T("\nError: MSXML 4.0 is not installed. Exiting.\n"));
return false;
}
else
{
return true;
}
}
catch(...)
{// Exception handling
}

return false;
}
Onega 2003-12-26
  • 打赏
  • 举报
回复
MSXML2::IXMLHTTPRequestPtr xmlrequest;
xmlrequest.CreateInstance(__uuidof(MSXML2::XMLHTTP));
可能那个机器上没有MSXML4.0

3,055

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC HTML/XML
社区管理员
  • HTML/XML社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧