|
【问题】通过平台在一个函数里调用XMLHTTP(通过IXMLHTTPREQUEST接口的方法)来传递XML数据到外部程序,通过外部程序的网页接收数据,并返回数据。代码如下,程序运行后始终卡在readyState<>4那里,跳过那一块后,返回system err code 998。
请教,问题出在那里,并能给个平台使用XMLHTTP传递XML文件到外部网页或者其他程序并返回信息的例子吗,或者平台上有什么其他的实现相关功能(传递XML到指定网页并返回)的对象或接口?
var
dom:TXMLDocument;
xmlHTTP:IXMLHTTPREQUEST;
begin
dom.LoadFromXML(strXml); {载入XML}
xmlHTTP:=IXMLHTTPREQUEST(CoXMLHTTPRequest.Create);
sHttpServer:= 'http://....'; {导入XML文件的地址}
xmlHTTP.open('POST',sHttpServer,true,'','');{调用:IXMLHTTPREQUEST接口的open方法,True为异步,False为同步 }
xmlHTTP.send(dom.XML);{调用:IXMLHTTPREQUEST接口的send方法发送XML文件}
{通过readyState=4确认发送XMl文件结束才执行后面的代码}
ta:=TApplication.Create(self);
while xmlHTTP.readyState<>4 do
begin
ta.ProcessMessages;
end;
{通过xmlHTTP.status}
if xmlHTTP.status='200' then
begin
returnMsg:=xmlHTTP.responseText;
end
else
begin
if xmlHTTP.responseText.Length=0 then
begin
returnMsg:='连接失败!可能原因是服务器错误';
result:=false;
exit;
end
else
begin
MyresponseText:= xmlHTTP.responseText;
returnMsg:='链接失败!可能原因是网络未连接或者IIS服务器未启动';
result:=false;
exit;
end;
end; |
|