DELPHI的COM+不可以直接调用WEBSERVICE吗?解决办法
DELPHI的COM+不可以直接调用WEBSERVICE吗?
今天写一个短信接口程序,我的程序有个WEBSERVICE接口,联通短信也是WEBSERVICE接口,现在要实现联通平台调用我的WEBSERVICE接口,查询出指定的内容,然后由我的程序立刻响应并回复短信
程序结构是:WEBSERVICE调用COM+程序查询信息,然后由COM+再调用联通的短信接口
现在的问题是:我单独写一个程序EXE调用联通的接口没有问题,但是相同的代码在COM+里面调用联通接口据报内存地址错误,请有经验的师父教导一下如何处理?
//组织待发短信报文
XMLDoc:=nil;
XMLDoc:=NewXMLDocument('1.0');
XMLDoc.Encoding:='UTF-8';
RootNode:= XMLDoc.AddChild('SMS');
RootNode.SetAttributeNS('type','','send'); //增加发送属性
Node := RootNode.AddChild('Message');
Node1 := Node.AddChild('MessageID');
Node1.NodeValue := sMessageID;
Node1 := Node.AddChild('UserID');
Node1.NodeValue := ATech_User;
Node1 := Node.AddChild('SendNum');
Node1.NodeValue := ATech_User;
Node1 := Node.AddChild('RecvNum');
Node1.NodeValue := psMobile;
Node1 := Node.AddChild('Report');
Node1.NodeValue := 'false';
Node1 := Node.AddChild('Content');
Node1.NodeValue := psMsgContent;
Node1 := Node.AddChild('SendTime');
Node1.NodeValue := '';
Node1 := Node.AddChild('Level');
Node1.NodeValue := '0';
XMLDoc.SaveToXML(sInputXml);
iError := -1;
i := 1;
while (iError <> 0) and (i<=3)do
begin
sRtnMsg := MMS.addShortMessageUC('ATECH-SMS',sInputXml);
if Pos(sRtnMsg,'OK') = -1 then
iError := -1
else iError := 0;
if iError = -1 then
begin
i := i + 1;
Sleep(500);
end;
end;
------解决方案--------------------
av错误常常是未初始化com, CoInitialize 了没
今天写一个短信接口程序,我的程序有个WEBSERVICE接口,联通短信也是WEBSERVICE接口,现在要实现联通平台调用我的WEBSERVICE接口,查询出指定的内容,然后由我的程序立刻响应并回复短信
程序结构是:WEBSERVICE调用COM+程序查询信息,然后由COM+再调用联通的短信接口
现在的问题是:我单独写一个程序EXE调用联通的接口没有问题,但是相同的代码在COM+里面调用联通接口据报内存地址错误,请有经验的师父教导一下如何处理?
//组织待发短信报文
XMLDoc:=nil;
XMLDoc:=NewXMLDocument('1.0');
XMLDoc.Encoding:='UTF-8';
RootNode:= XMLDoc.AddChild('SMS');
RootNode.SetAttributeNS('type','','send'); //增加发送属性
Node := RootNode.AddChild('Message');
Node1 := Node.AddChild('MessageID');
Node1.NodeValue := sMessageID;
Node1 := Node.AddChild('UserID');
Node1.NodeValue := ATech_User;
Node1 := Node.AddChild('SendNum');
Node1.NodeValue := ATech_User;
Node1 := Node.AddChild('RecvNum');
Node1.NodeValue := psMobile;
Node1 := Node.AddChild('Report');
Node1.NodeValue := 'false';
Node1 := Node.AddChild('Content');
Node1.NodeValue := psMsgContent;
Node1 := Node.AddChild('SendTime');
Node1.NodeValue := '';
Node1 := Node.AddChild('Level');
Node1.NodeValue := '0';
XMLDoc.SaveToXML(sInputXml);
iError := -1;
i := 1;
while (iError <> 0) and (i<=3)do
begin
sRtnMsg := MMS.addShortMessageUC('ATECH-SMS',sInputXml);
if Pos(sRtnMsg,'OK') = -1 then
iError := -1
else iError := 0;
if iError = -1 then
begin
i := i + 1;
Sleep(500);
end;
end;
------解决方案--------------------
av错误常常是未初始化com, CoInitialize 了没